#1
|
|||
|
|||
Some problems...
Hello Wizards,
I've some codes that doesn't work... If I want a delay of 2 seconds before playing a sound: # my variables # wait for 2 seconds before playing track def onTimer(num): Track1.play()viz.callback(viz.TIMER_EVENT, onTimer) viz.starttimer(0, 2) - If I want to listening to my joystick event: # add a joystick and listen joy = vizjoy.add() def joystickListener(num):
if math.fabs(y) > 0.2: viz.move(0,0,-y*0.1) if math.fabs(x) > 0.2: viz.callback(viz.TIMER_EVENT, joystickListener)viz.move(x*0.1,0,0) viz.starttimer(1, 0.001, viz.FOREVER) The problem is that only the joystick fonction will work. The sound will never be played. If I change the first fonction to something that requires an infinite loop, the two callbacks will work !!! I don't undestand why I can't have a delay while starting my joystick... Thanks, viz.FOREVER, D. |
#2
|
|||
|
|||
Hi,
You can only register one global callback function per event. If you want multiple callback functions for an event you need to use event classes. In this example you can also use a different timer ID for each case: Code:
def onTimer(num): if num == 1: #Perform joystick listener code elif num == 0: Track1.play() viz.callback(viz.TIMER_EVENT, onTimer) viz.starttimer(1, 0, viz.FOREVER) viz.starttimer(0, 2) Code:
def joystickListener(): #joystick listener code vizact.ontimer(0,joystickListener) #Call function every frame vizact.ontimer2(2,0,Track1.play) #Play track in 2 seconds |
#3
|
|||
|
|||
Oki...
OOoooooww... I'm going to try...
Thanks a lot... viz.FOREVER D. |
Thread Tools | |
Display Modes | Rate This Thread |
|
|