Dear Jeff,
thank you for the help, this seems like the way to go! But I have some problems with it:
I noticed that adding the line
Code:
viztask.schedule(proximityTask())
makes the event happen only once, upon entering the sensor for the first time.
My question would be how do I make it happen everytime, like it was the case when I used
Code:
manager.onEnter(SensorIndexFinger,EnterProximity_IndexFinger)
I tried the following (somehow adding the function that specifies the delay to the manager):
Code:
SensorIndexFinger = vizproximity.Sensor(vizproximity.Box([0.03,0.03,0.03],center=[0,0,0]),IndexFinger)
manager.addSensor(SensorIndexFinger)
def proximityTask():
global handstate
yield vizproximity.waitEnter(SensorIndexFinger)
print 'entered sensor'
yield viztask.waitTime(2)
print 'two seconds elapsed'
handstate = 1
print 'change hand'
def EnterProximity_IndexFinger(e): # decide what happens on sensor entry
global handstate
e.sensor == SensorIndexFinger
print "activate proximityTask"
manager.onEnter(SensorIndexFinger,proximityTask())
But I get an error "TypeError: 'generator' object is not callable."
I would be very happy to hear if you had any suggestions on how to call the action (with delay) every time the sensor was entered, as I can't seem to find a way to implement it