0

シーンのボタンとしてスプライトがあり、AnalogScreenControllerを統合しています。

onSceneTouch、onAreaTouch(Sprite mySprite)、onAnalogScreenControllerTouchのアクションがあります。

analogScrennControllerを押すとすべて問題ありませんが、スプライトに触れようとするとonSceneAreaTouchとonAreaTouch(Sprite mySprite)の両方が実行されますが、スプライトを押すと(onAnalogScreenControllerのように)sceneTouchを無効にします。シーンを押すときにスプライトを非表示にしたいのですが、そうするとスプライトを押すことができなくなります。これは、スプライトに触れようとすると、onAreTouchアクションを実行する前に消えてしまうためです。

4

1 に答える 1

1

つまり、スプライトに触れたときよりも、onSceneTouchアクションを実行したくないということです。

不正なコード:

    mySprite = new Sprite(...){

    @Override
    boolean onAreaTouch(...){
    if (isActionUp){
    ...
    }
    return false;
    }

正しいコード:

不正なコード:

    mySprite = new Sprite(...){

    @Override
    boolean onAreaTouch(...){
    ...
    return true;
    }

2番目のバージョンでは、mySpriteにタッチするとonSceneTouch()が実行されません。

于 2011-11-20T21:10:11.233 に答える