2012-02-10 11 views
3

私の画面メソッドのレンダリングメソッドで "Gdx.input.isTouched()"を使用してタッチした場所を知ることができますが、タッチが画面内でドラッグされると、アクター触れられる。アクタがlibgdxでタッチされたときを検出する方法は?

俳優がタッチされたときに知るリスナーはありますが、イベントはドラッグされたものではありません。スプライトでそれをやっています。

答えて

10

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; 
} 
+5

古いコメントは残念ですが、これらのメソッドは現在のバージョンのActorから削除されていますか?彼らは行方不明に見えます。 – iozee

+2

Libgdx wikiには、イベント処理に関する最新情報が含まれています。 http://code.google.com/p/libgdx/wiki/scene2d#Event_systemをご覧ください。 – Ludevik

0

は、私はあなたが移動イベントがで実行するだけでなく、単一の時間タッチを検出するために、次の方法のいずれかを実装する必要が思う:

は、基本的には、あなたの俳優で、これらの方法の一つ以上をオーバーライドする必要がユーザー。

Gdx.input.justTouched(); 
1

(libGDX Actor)にリスナーがあります。 例ボタンが押されたとき、またはチェックされたときにチェックする場合は、 button.isPressed()button.isCheck()を呼び出します。ブール値を返します。

0

複数の俳優がいる場合は、ステージでコントロールすると思います。

関連する問題