任何人都可以向我提供网站,博客,文章的参考,或者在Android的二维碰撞检测中发布速成课程或简易帮助指南吗?我查看了在线教程中的碰撞代码,但他们没有解释代码的碰撞部分 - 只是实现精灵的部分。我没有使用OpenGL,我正在使用Canvas进行游戏。我一直在寻找,但我一直在寻找OpenGL或C ++的东西,但我使用的是Java。将非常感谢所解释的代码示例。谢谢你尽你所能的帮助。
答案 0 :(得分:0)
在Java中,您可以查看
这个网站给你一些性能比较:
http://www.4feets.com/2009/03/2d-physics-on-android-using-box2d/
(如果你选择一个引擎,你可以去“引擎教程”找到你需要的所有源代码
否则你可以自己编写(取决于你想要的物理复杂程度)
但是我会指出使用画布绘制实时物理是疯狂的慢,我开始做它因为我测试引擎但你永远不会得到一个好的帧速率。
所以,除非你因为非常小的原因需要物理学,否则我建议你切换到opengl
答案 1 :(得分:0)
碰撞矩形是最简单的(实际上是圆圈,但精灵你不使用它们)
2个矩形碰撞/重叠需要共享一些空间
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;
}
}
为了获得哪些碰撞你可以扫过整个棋盘并检查一维中的所有重叠