我被困在试图改变屏幕上的精灵(当向上移动时)到精灵的背面视图。在
目前,精灵只是在最近的x和y坐标下,每次按键时都会以白色背景闪烁,而不是在屏幕上流畅地移动(我想在设定的轨迹上持续移动精灵,基于箭头键的按下,就像在snake中一样)。在
这是我第一次尝试用python编写任何东西,所以如果可能的话,就用Leyman的术语!在
lead_x_change = 0
lead_y_change = 0
while not gameExit:
for event in pygame.event.get():
if event.type == pygame.QUIT:
gameExit = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
lead_x_change = -5
if event.key == pygame.K_RIGHT:
lead_x_change = 5
#above are two snips of code to show the method i'm using to move the sprite
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT or event.key == pygame.K_DOWN:
gameDisplay.fill(white)
gameDisplay.blit(spriteX,(lead_x,lead_y))
pygame.display.update()
if event.key == pygame.K_UP:
gameDisplay.fill(white)
gameDisplay.blit(spriteY,(lead_x,lead_y))
pygame.display.update()
lead_y += lead_y_change
lead_x += lead_x_change
clock.tick(60)
pygame.quit()
quit()
我认为有两种可行的方法可以根据你移动的方向改变你的精灵。在
首先,让我们修复当前的绘图逻辑,这样无论按什么键都可以绘制精灵:
精灵的方法是在更改速度的同一个地方(在事件代码中)更改它,然后在实际绘制场景时使用已更改的精灵。在
^{pr2}$第二种方法是将事件代码限制为只设置速度,然后检查已设置的速度以选择要绘制的精灵。在
对于只有几个不同精灵的非常简单的逻辑,事件驱动的精灵变更可能是最简单的。如果你想要动画或者其他更复杂的精灵改变行为,第二种方法可能更好,因为你可以在一个地方处理所有的精灵逻辑。在
相关问题 更多 >
编程相关推荐