View Single Post
  #4  
Old 11-22-2016, 11:07 AM
Jeff Jeff is offline
WorldViz Team Member
 
Join Date: Aug 2008
Posts: 2,471
Try the following example. After the sensor enter event occurs in the proximity task another task is called that handles the delay:

Code:
import viz
import vizproximity
import viztask

viz.go()

dojo = viz.addChild('dojo.osgb')

#Create proximity manager
manager = vizproximity.Manager()
manager.setDebug(viz.ON)

#Add main viewpoint as proximity target
target = vizproximity.Target(viz.MainView)
manager.addTarget(target)

#Create sensor using static matrix
sensor = vizproximity.Sensor(vizproximity.Sphere(1.0),source=viz.Matrix.translate(0,1.5,3))
manager.addSensor(sensor)

def delayTask():
	yield viztask.waitTime(2)
	print '2 seconds elapsed'

def proximityTask():
	while True:
		yield vizproximity.waitEnter(sensor)
		print 'entered sensor'
		viztask.schedule(delayTask())

viztask.schedule(proximityTask())
Reply With Quote