只要按鍵盤上的key
,我就會嘗試製作遊戲object
(這裏是歡迎文本)。但是在這個代碼礦,只要按下按鍵,我如何讓遊戲對象持續移動?
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
?
謝謝兄弟!但是能否請你解釋一下get_pressed()函數,並且它告訴我們關鍵變量沒有被定義。 –
試試這個'from pygame.locals import *',或者'pygame.key.get_pressed()' – AndreL
哦,是的!我現在明白了一切。感謝芽! –