Pygame - 使用數字小鍵盤鍵移動



如果我們想實現遊戲視窗中物件的斜向移動,我們需要使用數字小鍵盤鍵。鍵 4、6、8 和 2 分別對應左、右、上、下箭頭,小鍵盤鍵 7、9、3 和 1 可用於移動物件進行左上、右上、右下、左下斜向移動。Pygame 透過以下值來識別這些鍵 −

K_KP1       keypad 1
K_KP2       keypad 2
K_KP3       keypad 3
K_KP4       keypad 4
K_KP5       keypad 5
K_KP6       keypad 6
K_KP7       keypad 7
K_KP8       keypad 8
K_KP9       keypad 9

示例

對於向左、向右、向上和向下箭頭按壓,x 和 y 座標將像以前一樣增量/減量。對於斜向移動,兩個座標都根據方向而改變。例如,對於 K_KP7 按鍵,x 和 y 都減小 5,而對於 K_KP9,x 增量,y 減量。

image_filename = 'pygame.png'
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen = pygame.display.set_mode((400,300))
pygame.display.set_caption("Moving with arrows")
img = pygame.image.load(image_filename)
x = 0
y= 150
while True:
   screen.fill((255,255,255))
   screen.blit(img, (x, y))
   for event in pygame.event.get():
      if event.type == QUIT:
         exit() 
      if event.type == KEYDOWN:
         if event.key == K_KP6:
            x= x+5
         if event.key == K_KP4:
            x=x-5
         if event.key == K_KP8:
            y=y-5
         if event.key == K_KP2:
            y=y+5
         if event.key == K_KP7:
            x=x-5
            y=y-5
         if event.key == K_KP9:
            x=x+5
            y=y-5
         if event.key == K_KP3:
            x=x+5
            y=y+5
         if event.key == K_KP1:
            x=x-5
            y=y+5
   pygame.display.update()
廣告
© . All rights reserved.