3

Scene Touch Listener に問題があります。ACTION_DOWN イベントのみを受け取ります。ACTION_UP または ACTION_MOVE イベントを受け取りません。私はそれを間違って何をしましたか?. 私を助けてください 。

次のように onSceneTouchEvent をオーバーライドしました。

@Override
public boolean onSceneTouchEvent(final Scene pScene,
        final TouchEvent pSceneTouchEvent) {
    switch (pSceneTouchEvent.getAction()) {
    case TouchEvent.ACTION_DOWN:
        Log.d(TAG, "onSceneTouchEvent # ACTION_DOWN");
        break;
    case TouchEvent.ACTION_UP:
        Log.d(TAG, "onSceneTouchEvent # ACTION_UP");
        break;
    }
    return true;
}

*注意:私はすでにtrueを返していますが、それでもACTION_DOWNしか得られません

4

2 に答える 2

1

スイッチケースは絶対に使用しないでください。1 つのケースのみを選択し、アクション ダウンが最初のアクションであるため、永久に選択されます。他のアクションは無視されます。

代わりにこれを使用してください:

if(pSceneTouchEvent.isActionDown){
   //code action down here
}
if(pSceneTouchEvent.isActionMove){
   //code action move here
}
if(pSceneTouchEvent.isActionUp){
   //code action up here
}
于 2014-01-19T06:47:50.893 に答える
0

他の場所でシーン タッチ イベントを聞いていますか? このリスナーに伝播する前に、アクションをリッスンしてそこで処理している (true を返す) 可能性があります。

于 2012-08-04T18:42:50.290 に答える