V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ruoran
V2EX  ›  Android

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

  •  
  •   ruoran · 2014-01-01 07:09:08 +08:00 · 9182 次点击
    这是一个创建于 3961 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在学libgdx, 用的教程上的碰撞检测方法,看人物的Rectangle是否overlap地板的Rectangle。

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

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

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

    @haxe
    @Mutoo
    @justinwuj
    谢谢!都很有用,我去研究一下ccd和物理引擎。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3155 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 12:31 · PVG 20:31 · LAX 04:31 · JFK 07:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.