私は点に向かって動いているサークル(2つ以上あります)があります。今のところ、彼らは近くにいるときに重なります。交差させないようにするにはどうしたらいいですか?
P .:私はJavaを使用しています。
EDIT:
- 円は物理学の法則に従わボールではありません、それが表す 生物(無関係)。
- 私はすでに衝突検出機能を持っています。
- サークルは互いに張り付いていません。交差することはできません。
はSOLUTION:
public void circleCollision(circle1, circle2) {
double xDistance = circle1.x – circle2.x;
double yDistance = circle1.y – circle2.y;
double distance = xDistance * xDistance + yDistance * yDistance;
double angle = Math.atan2(ydist, xdist);
if (distance < circle1.diameter * circle1.diameter) {
circle2.x = circle1.x + (circle1.width * Math.cos(angle));
circle2.y = circle1.y + (circle1.width * Math.sin(angle));
}
}
のおかげ:http://awesty.com/blog/2008/09/circle-collisions/
を見る作業を見たい場合は、私はあなたが円が衝突したときの挙動がどうあるべきかのように更に詳細に行く必要があると思います。 –
これを自分で最初からやり直す方法を知りたいのですか、これを助けるJavaのライブラリを知りたいですか? –
あなたの画像内のそれらの円は、あるポイントで衝突するでしょう。 – Perception