作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我通过创建一个 Sprite 在用户的轨道上添加了硬币,我将其保存在一个 Body 中。问题是当玩家与硬币碰撞时,硬币被移除但它需要一纳秒的时间。我希望玩家即使在与硬币碰撞时也能平稳运行。
最佳答案
您是对的,问题出在 Box2D 上。显然,移除一个物体需要一些时间并且会导致一些延迟。如果你不打算拥有非常多的 body ,你可以一直保留它们,你可以在 body 上安装一个传感器。传感器是一种特殊的夹具,不会与其他物体发生碰撞,但您可以发现物体是否接触。通过这种方式,您可以将硬币保留在它们的位置,只移除 Sprite,这样硬币就会消失,而不会因为移除 body 而产生开销。
请在此处查看 Box2d 手册: http://www.box2d.org/manual.html#_Toc258082972
另一件事是碰撞过滤,尽管我不确定如果正确设置碰撞位,isTouching() 方法是否会返回 true,所以您必须尝试一下。这里有一个很好的教程: http://www.iforce2d.net/b2dtut/collision-filtering
关于android - 如何在AndEngine中移除实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11965645/
我是一名优秀的程序员,十分优秀!