私の画面メソッドのレンダリングメソッドで "Gdx.input.isTouched()"を使用してタッチした場所を知ることができますが、タッチが画面内でドラッグされると、アクター触れられる。アクタがlibgdxでタッチされたときを検出する方法は?
俳優がタッチされたときに知るリスナーはありますが、イベントはドラッグされたものではありません。スプライトでそれをやっています。
私の画面メソッドのレンダリングメソッドで "Gdx.input.isTouched()"を使用してタッチした場所を知ることができますが、タッチが画面内でドラッグされると、アクター触れられる。アクタがlibgdxでタッチされたときを検出する方法は?
俳優がタッチされたときに知るリスナーはありますが、イベントはドラッグされたものではありません。スプライトでそれをやっています。
LibGDXのscene2dについてのこのwikiページを参照してください。特に入力処理に関する部分。
public boolean touchDown (float x, float y, int pointer) {
return false;
}
public void touchUp (float x, float y, int pointer) {
}
public void touchDragged (float x, float y, int pointer) {
}
public boolean touchMoved (float x, float y) {
return false;
}
public boolean scrolled (int amount) {
return false;
}
public boolean keyDown (int keycode) {
return false;
}
public boolean keyUp (int keycode) {
return false;
}
public boolean keyTyped (char character) {
return false;
}
は、私はあなたが移動イベントがで実行するだけでなく、単一の時間タッチを検出するために、次の方法のいずれかを実装する必要が思う:
は、基本的には、あなたの俳優で、これらの方法の一つ以上をオーバーライドする必要がユーザー。
Gdx.input.justTouched();
(libGDX Actor
)にリスナーがあります。 例ボタンが押されたとき、またはチェックされたときにチェックする場合は、 button.isPressed()
、button.isCheck()
を呼び出します。ブール値を返します。
複数の俳優がいる場合は、ステージでコントロールすると思います。
古いコメントは残念ですが、これらのメソッドは現在のバージョンのActorから削除されていますか?彼らは行方不明に見えます。 – iozee
Libgdx wikiには、イベント処理に関する最新情報が含まれています。 http://code.google.com/p/libgdx/wiki/scene2d#Event_systemをご覧ください。 – Ludevik