我想用小行星制作一个简单的月球着陆器。我已经得到了小行星,但是我很难理解如何让他们定义区域,如果我的船只穿过导致玩家输了。关于定义圆形像素区域的任何提示?如果它有帮助,我知道我的小行星的确切坐标。
感谢您的建议。
(寻找碰撞检测建议)
编辑:我的个人解决方案,稍微冗长但没有比下面的解决方案更有帮助:)
public boolean collisionDetection(double xa, double ya, double ra, double xb, double yb, double rb) {
double distance = Math.sqrt(Math.pow(xa-xb, 2) + Math.pow(ya-yb, 2));
if (distance < ra+rb)
return true;
else
return false;
}
答案 0 :(得分:1)
这假设你知道小行星和船只的合作和大小:
float x = Asteroid.X - Ship.X;
float y = Asteroid.Y - Ship.Y;
float radius = Asteroid.Radius - Ship.Radius;
x *= x;
y *= y;
radius *= radius;
if((x+y) < radius)
{
//collision
}
编辑:我的功能很抱歉,请使用此功能
感谢LarsH