#1
|
|||
|
|||
return variable from keypress function
I am relatively new to Vizard and Python, could you point me to some solutions for the following problem?
I want to change a variable in function MyTask() according to a keypress - input in function onKeydown() (if-switch). I just haven't found a way to return a variable from onKeydown. I tried the viz.callback function, and to give it enough time, I am trying to combine it with the viztask.waitKeyDown() function, but I just cannot produce an output form onKeydown. Here the respective code: def onKeydown(key): if key == 'y': incr = 5 elif key == 'n': incr = -5 return incr def MyTask(): while True: yield viztask.waitKeyDown(('y','n')) a = 10 b = onKeydown(viz.callback(viz.KEYDOWN_EVENT, onKeydown)) a = a + b print a viztask.schedule( MyTask() ) Any suggestions? thanks a lot! |
#2
|
|||
|
|||
You can have a data object returned with waitKeyDown that will contain the key that was pressed and the time it occurred. You can then do your if statement based on that keypress data.
Code:
import viz viz.go() import viztask def MyTask(): d = viz.Data() while True: yield viztask.waitKeyDown(['y','n'],d) print 'Key '+d.key+' was pressed' viztask.schedule( MyTask() ) |
#3
|
|||
|
|||
Thanks Jeff,
the printing of variables created inside the function always worked for me, but not the returning. But I guess it comes down to 'generator functions', their special return - behavior, and that python is not matlab. Have to learn a bit more about object oriented programming before my next post Am using global variables that I change within functions now rather than trying to return something from a function, and that works alright. thanks anyway, starbug |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
window.pick function over sub-window | omidbrb | Vizard | 4 | 10-02-2009 05:23 AM |
Documentating function names | aaThomas | Vizard | 5 | 05-15-2007 10:50 AM |
Do you know how to send a value for 'pool' to the onActionEnd function? | ghazanfar | Vizard | 1 | 03-22-2007 11:25 AM |
timers and director function | Jerry | Vizard | 1 | 06-22-2006 10:47 AM |
node3d.center function | tavaksai | Vizard | 3 | 08-13-2004 12:05 PM |