PDA

View Full Version : How to create circle like collision area


turgutm
12-26-2010, 10:50 PM
Hi,

I need to create collision area like circle. And I need to get notified when object is inside and when is outside of that area.

Any suggestions?

Jeff
01-02-2011, 01:49 PM
You can add a function that's called every frame that checks the distance between the object and the center of the circle. Depending on the distance value you'll know whether the object is inside or outside of the circle:
import viz
import vizact
import vizmat

viz.go()

CIRCLE_CENTER = [0,0,5]
CIRCLE_RADIUS = 2

court = viz.addChild('court.ive')
avatar = viz.addAvatar('vcc_male.cfg')

text = viz.addText('',parent=viz.SCREEN)
text.setPosition(0.3,0.8)
text.color(viz.RED)

walk = vizact.walkTo([0,0,10])
avatar.addAction(walk)

def collisionCheck():
distance = vizmat.Distance(CIRCLE_CENTER,avatar.getPosition() )
if distance > CIRCLE_RADIUS:
text.message('Outside circle')
else:
text.message('Inside circle')

vizact.ontimer(0,collisionCheck)

turgutm
01-04-2011, 11:19 PM
Hi, Jeff...
Thanks for reply...

It solved my problem.