Difference between revisions of "Keyboard input"

From TRCCompSci - AQA Computer Science
Jump to: navigation, search
(Created page with "Within the game loop of your code, we can firstly get the status of the keyboard and store it in a variable called user_input. We can then check this for certain keys: <synta...")
 
Line 16: Line 16:
 
If these variables are used to draw something to the screen, then the object will move around the screen.
 
If these variables are used to draw something to the screen, then the object will move around the screen.
  
The alternative way of doing this is within the pygame.events
+
The alternative way of doing this is within the pygame.events:
 +
 
 +
<syntaxhighlight lang=python>
 +
while True:
 +
    for event in pygame.event.get():
 +
        if event.type == pygame.QUIT:
 +
            pygame.quit(); #sys.exit() if sys is imported
 +
        if event.type == pygame.KEYDOWN:
 +
            if event.key == pygame.K_LEFT:
 +
                X+X-1
 +
            elif event.key == pygame.K_RIGHT:
 +
                X=X+1
 +
            elif event.key == pygame.K_UP:
 +
                Y=Y-1
 +
            elif event.key == pygame.K_DOWN:
 +
                Y=Y+1
 +
</syntaxhighlight>

Revision as of 09:46, 22 February 2018

Within the game loop of your code, we can firstly get the status of the keyboard and store it in a variable called user_input. We can then check this for certain keys:

user_input = pygame.key.get_pressed()
    
if(user_input[pygame.K_UP]):
    Y=Y-1
elif(user_input[pygame.K_DOWN]):
    Y=Y+1
elif(user_input[pygame.K_LEFT]):
    X=X-1
elif(user_input[pygame.K_RIGHT]):
    X=X+1

If these variables are used to draw something to the screen, then the object will move around the screen.

The alternative way of doing this is within the pygame.events:

while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit(); #sys.exit() if sys is imported
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                X+X-1
            elif event.key == pygame.K_RIGHT:
                X=X+1
            elif event.key == pygame.K_UP:
                Y=Y-1
            elif event.key == pygame.K_DOWN:
                Y=Y+1