我正在製作一個簡單的遊戲,其中我有一個圍繞中心旋轉的球和圓弧。當用戶觸摸屏幕時,球沿指針方向移動並擊中弧線。但我無法找到任何方法來檢測碰撞 的圖像已經附加了更好的理解用圓弧碰撞檢測球
遊戲圖像
調試快照..
我有一個圈圍繞我的球... 我在做什麼是
檢測圓弧>旋轉的圓心與圓的交點。 但是我無法檢測到球是否與球相交? 請幫助...:'(
代碼使電弧:
public void arc (float x, float y, float radius, float start, float degrees,int segments) {
// int segments = (int)(6 * (float)Math.cbrt(radius) * (degrees/360.0f));
if (segments <= 0) throw new IllegalArgumentException("segments must be > 0.");
float colorBits = color.toFloatBits();
float theta = (2 * MathUtils.PI * (degrees/360.0f))/segments;
float cos = MathUtils.cos(theta);
float sin = MathUtils.sin(theta);
float cx = radius * MathUtils.cos(start * MathUtils.degreesToRadians);
float cy = radius * MathUtils.sin(start * MathUtils.degreesToRadians);
for (int i = 0; i < segments; i++) {
renderer.color(colorBits);
Gdx.gl20.glLineWidth(10);
Gdx.gl.glEnable(GL20.GL_BLEND);
renderer.vertex(x + cx, y + cy, 0);
float temp = cx;
cx = cos * cx - sin * cy;
cy = sin * temp + cos * cy;
renderer.color(colorBits);
renderer.vertex(x + cx, y + cy, 0);
}
}
如何定義你的弧?您可以比較交叉角度是否在弧線範圍內。 – MBo