我试图让游戏object
(这里是欢迎文本)只要按下键盘上的key
就可以移动。但在我的这个密码里
import pygame , sys
from pygame.locals import *
pygame.init()
WHITE = (255 , 255 , 255)
RED = (255 , 0 , 0)
DISPLAYSURF = pygame.display.set_mode((800 , 400))
pygame.display.set_caption('Welcome Tanks')
#render(text, antialias, color, background=None)
fontObj = pygame.font.SysFont('serif' , 40)
text = fontObj.render('Welcome Folks' , True , RED )
x = 150
y = 29
while True:
DISPLAYSURF.fill(WHITE)
DISPLAYSURF.blit(text ,(x , y))
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit(0)
elif event.type == KEYDOWN or event.type == KEYUP:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit(0)
elif event.key == K_DOWN:
y += 15
elif event.key == K_UP:
y -= 15
elif event.key == K_RIGHT:
x += 14
elif event.key == K_LEFT:
x -= 15
else:
x = 150
y = 29
pygame.display.update()
即使长时间连续按下key
,对象也只移动一次。换句话说,当按下键盘按钮时,对象只改变一次位置。我想让它在我握着钥匙的时候不停地移动。在
我应该查找哪个事件而不是event.KEYDOWN
?在
我建议您使用
key.get_pressed()
,例如pygame.key.按下()
你也可以看看doc
声明,然后使用keystate:
^{pr2}$你可以试试:
然后得到
FPS
时钟,这样它就不会仅仅流过screen
!在相关问题 更多 >
编程相关推荐