我正在嘗試在 pygame 中移動一個矩形這是我正在嘗試工作的代碼:currBlock1 = pygame.draw.rect(surface, (0, 255, 255), (340, 50, 60, 30))currBlock2 = pygame.draw.rect(surface, (0, 255, 255), (310, 80, 60, 30))currBlock1.move(340, 80)currBlock2.move(310, 110)這里有什么問題嗎?
1 回答

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
pygame.Rect.move
不移動矩形本身。該方法返回一個新的移動矩形。您必須使用,它可以就地運行。此外, /的參數是偏移量而不是位置:?pygame.Rect.move_ip
move
move_ip
currBlock1.move_ip(0,?30) currBlock2.move_ip(0,?30)
實際上,您在每一幀中重新創建相同的矩形。您需要pygame.Rect()
在應用程序循環之前構造對象,并且必須在循環中移動它:
currBlock1 = pygame.Rect(340, 50, 60, 30)
currBlock2 = pygame.Rect(310, 80, 60, 30)
# application loop
while run:
? ? # [...]
? ? pygame.draw.rect(surface, (0, 255, 255), currBlock1)
? ? pygame.draw.rect(surface, (0, 255, 255), currBlock2)
? ? currBlock1.move_ip(0, 30)
? ? currBlock2.move_ip(0, 30)
添加回答
舉報
0/150
提交
取消