我想通過使用向上和向下的箭頭在Pong遊戲中移動一個槳。我通過一個事件處理循環來做這件事。下面是事件處理循環的代碼:Pygame雪碧沒有更新
for event in PE.get():
if event.type == PG.KEYDOWN:
keystate = PG.key.get_pressed()
if event.key == PG.K_ESCAPE:
done = True
if keystate[PL.K_UP]:
rightPaddle.update(-10)
if keystate[PL.K_DOWN]:
rightPaddle.update(10)
if event.type == PG.QUIT:
done = True
更新功能如下所示:
def update(self, move):
self.toplefty += move
這裏是PaddleSprite類:
def __init__(self, x, y):
PG.sprite.Sprite.__init__(self)
self.image = PG.Surface([15,100])
self.topleftx = x
self.toplefty = y
self.rect = self.image.get_rect
self.rect.move_ip(self.topleftx, self.toplefty)
def draw(self, surface):
surface.fill(PINK, self.rect)
def update(self, move):
self.toplefty += move
簡而言之,更新基本上是矩形的槳的函數根據點擊向上或向下箭頭的次數將矩形的左上角移動到新的y位置。每個向上或向下箭頭在正方向或負方向上遞增槳距10。但是,在我的程序中,當我向上或向下按下時,槳沒有移動。誰能告訴我爲什麼?此外,在按住向上或向下鍵的同時,是否可以移動槳葉,而不是多次按下它來移動槳葉?
您可以發佈完整程序的源代碼嗎? –
到目前爲止您嘗試了哪種調試?事件處理程序中的任何打印語句,以驗證是否已達到座標調整邏輯? –
我在事件驅動的循環中添加了打印語句,以查看它是否會識別鍵和鍵的事件。當我按下按鍵時它會打印出來,但槳不會移動,這非常令人困惑。 –