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())