【发布时间】:2021-09-24 18:41:05
【问题描述】:
我是 pygame 的初学者,我没有任何编程经验, 我正在使用 pygame.key.get_pressed() :
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 400))
pygame.display.set_caption('Hello World!')
green = (0,255,0)
FPS = 60
FpsClock = pygame.time.Clock()
playerY = 200
playerX = 200
while True:
BG = pygame.draw.rect(DISPLAYSURF,(255, 255,255),(0,0,400,400))
player = pygame.draw.rect(DISPLAYSURF,(green),(playerX, playerY,20, 20))
keys = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if keys[pygame.K_z]:
playerY -= 5
if keys[pygame.K_s]:
playerY += 5
if keys[pygame.K_d]:
playerX += 5
if keys[pygame.K_q]:
playerX -= 5
pygame.display.update(player)
pygame.display.update()
FpsClock.tick(FPS)
例如,当我在 s 键上单击一次时,一切正常,玩家移动,但是 如果我按住 s 按钮,在我按住按钮的同时玩家向下移动之前会有延迟 (w、a、d 也一样)
【问题讨论】:
标签: python python-3.x pygame