如何解决我如何阻止我的播放器从屏幕上“弹弓”出来?
在我的 pygame 播放器类中实现碰撞后,当播放器与墙壁碰撞,并且用户按住相应的键以及使玩家在不同轴上移动的任何键时,游戏将“弹弓”穿过墙壁屏幕。我相信这与瓷砖地图让玩家离开屏幕有关,但我不是 100% 确定。
碰撞代码是...
def colliders(self):
for tile in tile_rects:
if tile.colliderect(self.rect):
if self.speed[1] > 0:
self.rect.bottom = tile.top
elif self.speed[1] < 0:
self.rect.top = tile.bottom
if self.speed[0] > 0:
self.rect.right = tile.left
elif self.speed[0] < 0:
self.rect.left = tile.right
其中 tile 派生自上面的函数,该函数将 tile 映射到屏幕,而 self.rect 和 speed 是来自上述播放器类的播放器的属性。
问题的视频示例... https://www.youtube.com/watch?v=FbJAC3LulHM&ab_channel=spretzelz
完整代码... https://pastebin.pl/view/9dc1c4aa
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。