私のLibGDXゲームでは、クリック可能なアクターのラスターがあります。プレイヤーがスワイプして、がスワイプを停止している俳優をにしてもらいたいです。LibGDX touchDown touchUp on other actors
私はGestureListener
を必要としません。唯一必要なことは、別のアクタで生成されたtouchDownのtouchUpイベントです。たとえば、ロックを解除するためにパターンをスワイプするAndroidsのログイン画面について考えてみましょう。ただし、最後のドット/俳優のイベントが必要です。
私はtouchDown
/touchUp
を使用しようとしましたが、イベントは常にtouchDown
が発生したアクタで発生します。
すばらしい解決策は、スワイプでヒットしたすべてのアクタのイベントを取得してから、グローバルtouchUp
イベントを取得することです。これは比較的アクセス可能な方法で可能ですか?まったく新しいInputListenerを書くことなく?
Works!このプロセスでスワップされたアクターにイベントを送信する方法はありますか?また、 'event.getTargetActor()。localToParentCoordinates(tmp.set(x、y));'は 'final Vector2 pos = event.getTarget()。localToParentCoordinates(new Vector2(x、y));'になります。私がグローバル変数を使用しなかったという事実は、メソッド名が異なります)。あなたが使っているlibGDXのバージョンがわからないのですが、私は1.9.3です。 – kwantuM
私はたぶん 'touchDragged'をオーバーライドしてヒットメソッドを呼び出すことができます...しかし、私は非常に最適化されていないと思うので、スパムはVector2オブジェクトを作成し、それらを投影し、タッチが移動されるたびに。 – kwantuM
私はgetTargetActorでタイプミスをしましたが、なぜ不要に割り当てたり、割り当てを解除したりしたいですか?私のやり方では、touchDraggedでそれを使用しても、スパムはありませんが、俳優の上に乗っている間に俳優の色を変えたいのでなければ、その目的はわかりません。 – Tenfour04