我是犹他大学的一名学生,正在使用 Pygame 进行一个项目,但遇到了一些小问题。我已经编写了整个游戏的代码,并且运行完美,但我希望我的角色在走过某些地形时减慢移动速度。例如,如果他/她走过沙砖,我希望他/她的速度减半。我无法自己解决这个问题,因为我仍在学习。我的代码的链接如下。任何帮助将非常感激!
我相信解决方案将包含在以下代码行中:
if keys[pygame.K_LEFT]:
is_facing_left = True
movement_x -= tile_rect.width
mapx -= 1
if keys[pygame.K_RIGHT]:
is_facing_left = False
movement_x += tile_rect.width
mapx += 1
if keys[pygame.K_UP]:
movement_y -= tile_rect.height
mapy -= 1
if keys[pygame.K_DOWN]:
movement_y += tile_rect.height
mapy += 1
if mapx < 0:
mapx = 0
movement_x = 0
if mapx > world.get_width()-1 - map_tile_width:
mapx = world.get_width()-1 - map_tile_width
movement_x = 0
if mapy < 0:
mapy = 0
movement_y = 0
if mapy > world.get_height()-1 - map_tile_height:
mapy = world.get_height()-1 - map_tile_height
movement_y = 0
如果您想查看完整的代码,请点击这里:
https://github.com/DanPatWils/AdventureGame/blob/master/Almost https://github.com/DanPatWils/AdventureGame/blob/master/Almost
您有多行表格mapx -= 1
。您可以在该循环之外使用一个变量来跟踪您的速度,然后您可以使用mapx -= current_speed
移动你的角色。然后您可以根据不同的情况修改您的速度。
您应该确保游戏的事件循环和地图大小足够大,这样您的角色就不会看起来像是在传送而不是在高速奔跑。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)