2017-03-16 11 views
0

私はJavaFXで2Dゲームを作っていますが、衝突を検出すると、プレーヤスプライトが四角形の塗りつぶしとして設定され、意図した枠線がないため不正確な結果になります。できるだけ正確になるように自分の形を作る方法はありますか?カスタムシェイプを作成するJavaFX

私が持っていたもう1つのアイデアは、衝突したピクセルが透明であるかどうかをチェックしていて、ゲームが終了していない場合にゲームを終了しないことです。誰も私が衝突するピクセルの座標を取得する方法を知っているので、そこからPixelReaderを使用してチェックできますか?

誰かがより良い方法を知っている場合は、私に教えてください!

おかげで、 イーサン

答えて

0

これを行うためのさまざまな方法があります。ここで私は良い成功を収めた一つの方法です。私はヒットボックスを作りました、それはそれ自身が長方形でした。その後、衝突検出中に、すべてのヒットボックスを繰り返して、飛行機のヒットボックスに衝突したかどうかを確認します。

これにより、複雑な図形を小さな四角形で塗りつぶすことができます。例えば、平面は1つの長い横長の長方形と1つの小さい方の長方形を中央で交差させます。

現在、私はlibGDXを使用しています。 libGDXでは、ここで述べたようにPolygonオブジェクトを使用します。 https://stackoverflow.com/a/28540488/1490322私はJavaFXで同様の機能を見たことはありませんが、libGDXがJavaFXコードに何をしているのかをコピーするのは難しくありません。そのコードはオープンソースです。

関連する問題