Android Game 碰撞检测问题,启动时有几次render的delta time过大,人物穿透地板,跌出屏幕。

2014-01-01 07:09:08 +08:00
 ruoran
在学libgdx, 用的教程上的碰撞检测方法,看人物的Rectangle是否overlap地板的Rectangle。

Desktop上运行没问题,但是在手机上启动后有几次delta time = 0.3s.
这导致了碰撞检测时,人物已经穿过了障碍。

不知道这种问题该如何解决,求助!
5544 次点击
所在节点    Android
5 条回复
haxe
2014-01-01 09:38:30 +08:00
关键词:
continuous collision detection
Mutoo
2014-01-01 16:22:14 +08:00
我看了一下libgdx的介绍,貌似它使用了box2d来做物理引擎,box2d已经很好的处理了ccd(continuous collision detection)的问题,你可以直接用物理引擎的方法来处理你的游戏,不需要自己写 Rectangle collision 嘛。

参考 http://www.box2d.org/manual.html
justinwuj
2014-01-01 20:19:45 +08:00
可以试试封装更完善的引擎,比如 andengine
nazor
2014-01-01 20:22:59 +08:00
真有意思,公测中出现就成bug了。
ruoran
2014-01-02 05:08:35 +08:00
以前没做过游戏,最近在跟着几个基础教程手动写,想体验一下来着。

@haxe
@Mutoo
@justinwuj
谢谢!都很有用,我去研究一下ccd和物理引擎。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/95257

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX