ゲームには 2 つの Path2D オブジェクトがあり、1 つはプレイヤー用、もう 1 つはボスの 1 人が持つ触手用です。Path2D を使用する必要があるのは、バウンドをプレーヤー/触手と一緒に回転させて、その横に 5 ピクセル立っている場合に打たれないようにするためです。これの問題はplayerPath.intersects(tentaclPath)
、Path2D が四角形との交差しかチェックできないため、使用できないことです。これは、私のゲームで Path2D を使用する目的を無効にするため、問題です。パスの1つを長方形に転送せずに、それらが交差するかどうかを確認するにはどうすればよいですか?
質問する
1634 次
1 に答える
3
- 触手とプレイヤーが閉じたパスであることを確認してください。(そうでない場合、それらは暗黙のうちに閉じられ、そうすべきではないと思われるときに触手ヒットが発生します。)
- Area クラスを使用して交差を計算し、それが空かどうかを確認します
(おおよそのコード)
import java.awt.geom.Area;
...
boolean playerHitByTentacle(Tentacle t, Player p) {
Area player = new Area(p.getPath2D());
Area tentacle = new Area(t.getPath2D());
player.intersect(tentacle);
return !player.isEmpty();
}
于 2013-05-30T14:31:07.513 に答える