首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何克服Pygame加速带来的sprite入侵楼层的问题?

如何克服Pygame加速带来的sprite入侵楼层的问题?
EN

Stack Overflow用户
提问于 2021-05-30 21:30:16
回答 1查看 30关注 0票数 1

我正在尝试编写我的Pygame游戏代码,这样玩家就可以在它不接触地板的任何时候倒下。问题是,编码它的方法是测试玩家y坐标是否低于0,然后停止下降过程,但三次函数并不总是会达到精确的y= 0,因为它每帧移动更多的像素,可能第一个低于0的值是-10。然后播放器就会出现在屏幕下。

我想过测试玩家的y坐标是否低于0,然后将他传送到y=0,但这感觉像是一个非常不优雅的解决方案,它也让玩家传送了一帧。

EN

回答 1

Stack Overflow用户

发布于 2021-05-30 22:00:14

“我想过测试玩家的y坐标是否低于0,然后将他传送到y= 0,但这感觉真的不是一个优雅的解决方案。”

这是通常的方式。碰撞使玩家不会跌倒。

“它还能让玩家传送一帧画面。”

不,它不会。你必须在碰撞检测之后,在你画它之前“传送”玩家plyer。

您在每一帧中执行一次碰撞检测。一旦检测到碰撞,您就知道自上一帧以来,玩家在移动时在某个点上撞到了对象。您可以通过对象来限制玩家的位置,而不是计算玩家击中对象并停止移动的确切时间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67761738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档