谁能给我一个网站,博客,文章的参考,或发布自己的2-D碰撞检测的Android速成课程或简单的帮助指南?我查看了在线教程中的冲突代码,但他们没有解释代码中的冲突部分--只是实现sprites的一部分。我使用的不是OpenGL,我的游戏使用的是Canvas。我到处寻找,但我一直在寻找OpenGL或C++的东西,但我使用的是Java。我们将非常感谢所解释的代码示例。感谢你能提供的任何帮助。
发布于 2011-06-06 08:28:27
碰撞矩形是最简单的(实际上是圆圈,但是有了精灵,你就不用它们了)
为了使两个矩形发生碰撞/重叠,需要共享一些空间
public class Sprite{
private int left,right;//bounding box left<right and top>bottom
private int top,bottom;
public final boolean collidesWith(Sprite other){
if(this.left>other.right || other.left>other.right)return false;
if(this.bottom>other.top || other.bottom>other.top)return false;
return true;
}
}为了得到哪些碰撞,你可以扫过整个电路板,并检查所有的重叠在一个维度上
发布于 2011-06-06 08:20:03
在Java中,您可以看到
http://www.jbox2d.org/
这个网站给你提供了一些性能比较:
http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/
(如果你选择了一个引擎,你可以去“引擎教程”找到你需要的所有源代码
或者你可以自己写(取决于你想要的物理有多复杂)
但我要指出的是,使用画布来绘制实时物理是非常慢的,我开始这样做是因为我正在测试引擎,但你永远不会得到好的帧率。
因此,除非你因为一个很小的原因而需要物理,否则我建议你切换到opengl
https://stackoverflow.com/questions/6246795
复制相似问题