[英]My sprite continues to keep moving even after releasing the key in pygame
[英]Pygame sprite not moving even after pressing the keys
我基本上是在尝试从 pygame 制作游戏,但是我遇到了一个错误,其中计算机精灵在移动但我的精灵没有移动代码是
import pygame
pygame.init()
win = pygame.display.set_mode((1280, 720))
pygame.display.set_caption("Game of Squares")
bluex = 100
bluey = 100
redX = 300
redY = 300
bluevel = 6
redVel = 4
run = True
def drawGame():
win.fill((0, 225, 0))
pygame.draw.rect(win, (0, 0, 255), (bluex, bluey, 20, 20))
pygame.draw.rect(win, (255, 0, 0), (redX, redY, 40, 40))
pygame.display.update()
while run:
pygame.time.delay(100)
if redX < bluex - 10:
redX = redX + redVel
drawGame()
elif redX > bluex + 10:
drawGame()
redX = redX - redVel
elif redY < bluey - 10:
redY = redY + redVel
elif redY > bluey + 10:
redY = redY - redVel
else:
run = False
for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
bluex -= bluevel
if keys[pygame.K_RIGHT]:
bluex += bluevel
if keys[pygame.K_UP]:
bluey -= bluevel
if keys[pygame.K_DOWN]:
bluey += bluevel
drawGame()
pygame.quit()
PS :D- 我在 macbook 上并使用终端作为外壳当我按下键玩游戏时,它出现了一些奇怪的东西。
(base) AMITs-MacBook-Air:desktop amitkumar$ python game1.py
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
^[[B^[[B^[[C^[[D^[[A^[[C
您看到的奇怪代码实际上是终端为箭头键发送的代码
有关详细信息,请参阅该答案:
为什么在Ubuntu中按方向键时终端显示“^[[A”“^[[B”“^[[C”“^[[D”?
因此 pygame 永远不会得到 pygames 常量 K_LEFT、K_RIGHT 等中定义的预期值。
为了轻松检查它是问题的实际根源,请使用字母键而不是箭头键来移动您的精灵来检查。 也许您可以尝试按照上面针对 mac 用户的链接中的建议将终端更改为 bash?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.