View Full Version : stopping ontimer
My program runs on onkeydown() that are assigned to different def func:. When i switch from func A to func B. A is still running. The reason is I think is becuase of the ontimers that I have associated with it. So is there anyway to stop and ontimer? Any other suggestions to handle this problem?
def funcA():
def calculate():
#CODE
vizact.ontimer2(0,viz.FOREVER,calculate)
vizact.onkeydown('a',funcA)
def funcB():
def speed():
#CODE
vizact.ontimer2(0,viz.FOREVER,speed)
vizact.onkeydown('b',funcB)
You could try this to keep only one timer active at a time.
import viz
viz.go()
def calculate():
print 'calculate'
def speed():
print 'speed'
timer1 = vizact.ontimer2(1,viz.FOREVER,calculate)
timer2 = vizact.ontimer2(1,viz.FOREVER,speed)
timer1.setEnabled(viz.OFF)
timer2.setEnabled(viz.OFF)
def funcA():
timer1.setEnabled(viz.ON)
timer2.setEnabled(viz.OFF)
vizact.onkeydown('a',funcA)
def funcB():
timer1.setEnabled(viz.OFF)
timer2.setEnabled(viz.ON)
vizact.onkeydown('b',funcB)
Is there a way to use the same key to turn on and turn off the same function?
IE. If I hit 'a' to enable def calculate() then I hit 'a' again to disable def calculate().
I have the idea I think for it. Which would be to have a bool value and then change it from true to false and have if else statements to check it. Could be wrong thats why Im asking.
You could use viz.TOGGLE so that each time you press the key the timer will change states and your function will either start or stop being called
def funcA():
timer1.setEnabled(viz.TOGGLE)
vizact.onkeydown('a',funcA)
def funcB():
timer2.setEnabled(viz.TOGGLE)
vizact.onkeydown('b',funcB)
i have an application where i have my 3d human model walking but i want it to freeze...or pause how can i do that.
vBulletin® v3.8.7, Copyright ©2000-2024, vBulletin Solutions, Inc.