![]() |
|
#1
|
|||
|
|||
I'm not sure what you mean by a 'nested if loop'. The if statement does not loop, it simply checks a condition and executes the nested code if the condition passes. The code you posted would never work because the key variable can never be equal to 'A' and 'D' at the same time.
One way to check for consecutive key presses is to save the last key press and compare it with the new one. Here is some sample code that does this. It also check how long has elapsed since the last press to make sure the keys were pressed in a short amount of time. Code:
import viz viz.go() lastKey = None lastKeyTime = 0.0 def onKeyDown(key): global lastKey,lastKeyTime elapsed = viz.tick() - lastKeyTime if lastKey == 'a' and key == 'd' and elapsed < 0.2: print 'ad pressed' lastKey = key lastKeyTime = viz.tick() viz.callback(viz.KEYDOWN_EVENT,onKeyDown) |
#2
|
|||
|
|||
Hello,
Many thanks for the code. It is working perfectly. Your suggestions are really great. May be, my nested if loop has been interpreted wrongly. What I was trying to say was that nested loop using if statements. def onKeyDown(key): if key=='A': print 'abcd' if key=='B': print 'pqrs' viz.callback(viz.KEYDOWN_EVENT,onKeyDown) When, I was using the above code and I was pressing 'A' on keyboard, I was getting a printout of 'abcd'. This implies, that the first if statement was checking the conditionality. Thus, once in the first if loop, when I was subsequently pressing the 'B' button on keyboard, I was not getting any output. Does it not imply that it was not taking the second sequential input from keyboard? or may be the 'key' was not taking in the 'B' input. Thanks Uttama |
![]() |
Thread Tools | |
Display Modes | Rate This Thread |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Custom Menu Options | south_bank | Vizard | 5 | 07-07-2008 10:52 AM |
What are the options for making a movie of a Vizard world? | Karla | Vizard | 1 | 05-13-2008 10:56 AM |
On Screen Keyboard | betancourtb82 | Vizard | 14 | 10-03-2006 12:38 PM |
Multiple Viewports in Vizard, Utilizing keyboard callback | shivanangel | Vizard | 2 | 02-21-2006 04:56 PM |
Timer vs. Keyboard input | Wenamun | Vizard | 1 | 01-23-2006 09:04 PM |