0

ビューをレンダリングするためにスプライトを保持するアクターがいます。このアクションのヒットを判断する方法は、スプライトバウンディングボックスを取得し、そのcontains pointメソッドを呼び出して、x、yヒット関数のパラメーターを再度呼び出すことです。これは機能していないようです。例などに基づいてこれを行う方法を探していましたが、何も見つかりませんでした。誰かがこれを行う方法を提案できますか?

私が今使用しているコードは次のとおりです。

@Override
public Actor hit(float x, float y)
{
   Rectangle re= _sprite.getBoundingRectangle();

   if(re.contains(x, y))
       return this;
   else
       return null;

}

ドキュメントのxとyおよびreの長方形はすべてアクター座標にあるように見えるので、機能するはずですが、テストは常に失敗します。

誰かがここで助けることができますか?前もって感謝します。

4

1 に答える 1

0

scene2d ヒット検出 wikiによると、このhitメソッドは、ステージがアクタのバウンディング ボックスが「ヒット」であると判断したときに呼び出されます。ヒットをさらに微調整したい場合にのみオーバーライドする必要がありますhit(たとえば、スプライトが円形で、半径の外側にある場合にバウンディング ボックス内の「ヒット」を回避したい場合など)。

アクターが触れられた後に何かをしたい場合は、適切なInputListenerメソッドをオーバーライドする必要があります。詳細については、同じ wiki のInputListener セクションを参照してください。

于 2013-01-24T05:33:12.967 に答える