5

libgdx の box2d ワールドにフィクスチャ付きのボディを追加しています。ユーザーがオブジェクトに触れた (クリックした) かどうかを検出したい。どうすればいいですか?ありがとう

4

2 に答える 2

8

アクター (ここではオブジェクトと呼んでいるもの) のタッチ イベントを検出するには、libgdx Stageを使用する必要があります。ベスト プラクティスは、box2d ボディをステージ アクターにマッピングすることです。これにより、そのようなことを非常に簡単に行うことができます。

タッチを検出するには:

次のように、 InputProcessorインターフェイスの touchDown メソッドを実装します。

  • stage.toStageCoordiantes(...) メソッドを使用して、スクリーン座標をステージ座標に変換する必要があります。
  • 変換された座標を使用して、stage.hit(x, y) を使用してステージ上のアクター (オブジェクト) のヒットを検出します。
  • stage.hit(x, y) は、ヒットが検出された場合にアクターを返します。

それが役立つことを願っています。

于 2012-08-23T11:27:40.497 に答える