庞司令 发表于 2018-9-21 19:09:20

pygame如何实现8个方向的移动

在pygame中,通过键盘检测可以实现上下左右四个方向的控制和移动,可是如果需要向左下方或者右上方移动时,该怎么编写检测代码呢?

Charles未晞 发表于 2018-9-21 19:50:11

https://github.com/CharlesPikachu/Games
之前开源了一个利用python制作小游戏的项目,里面有一些小游戏。
检测的话,类似这样就行了:
if event.type == pygame.KEYDOWN:
   if event.key == pygame.K_LEFT or event.key == pygame.K_a:
      speed = skier.turn(-1)
   elif event.key == pygame.K_RIGHT or event.key == pygame.K_d:
      speed = skier.turn(1)

庞司令 发表于 2018-9-21 20:31:54

Charles未晞 发表于 2018-9-21 19:50
https://github.com/CharlesPikachu/Games
之前开源了一个利用python制作小游戏的项目,里面有一些小游戏 ...

这个代码可以实现控制物体向左下或者右上运动吗?还是只是一个方向的运动?

Charles未晞 发表于 2018-9-21 20:34:22

庞司令 发表于 2018-9-21 20:31
这个代码可以实现控制物体向左下或者右上运动吗?还是只是一个方向的运动?

这个是检测按键的代码,检测到用户按下按钮,然后写代码移动对应的物体不就行了吗。

那个Github里的小游戏有些需要键盘操作人物移动,你可以参考参考

塔利班 发表于 2018-9-21 20:50:26

设置4个方向移动的bool值,当按下键队应方向为True,当抬起为False
对应每个方向if判断下,做对应Move对应的速度就行了
页: [1]
查看完整版本: pygame如何实现8个方向的移动