2

再生ボタンのあるシーンと、ユーザーがゲームのさまざまなレベルをスライドできるシーンの 2 つがあります。

ユーザーが再生をクリックすると、子シーンをレベルセレクターシーンに設定します。ユーザーが戻るボタンを押すと、子シーンが削除されます。

唯一の問題は、戻るときに再生ボタンが画面に表示されなくなったことです.これは、ユーザーがレベルセレクターシーンをスクロールしているときにカメラが変更されたことに関係していると思います.

これが、ユーザーがレベルをスクロールできるようにする方法です。

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {

     // TODO Auto-generated method stub
     clickDetector.onTouchEvent(pSceneTouchEvent);
     surfaceScrollDetector.onTouchEvent(pSceneTouchEvent);
     return true;
}


@Override
public void onScrollStarted(ScrollDetector pScollDetector,int pPointerID, float pDistanceX,float pDistanceY) {
    // TODO Auto-generated method stub
    distanceX = 0;      
}


@Override
public void onScroll(ScrollDetector pScollDetector, int pPointerID,float pDistanceX, float pDistanceY) {
    // TODO Auto-generated method stub

    camera.offsetCenter(-pDistanceX, 0);

    distanceX += pDistanceX;
}


@Override
public void onScrollFinished(ScrollDetector pScollDetector,int pPointerID, float pDistanceX, float pDistanceY) {
    if ((distanceX > TURN_PAGE_DISTANCE) && (page > 0))
    {       
        page--;
        camera.offsetCenter(distanceX - CAMERA_WIDTH, 0);
    }
    else if ((distanceX < -TURN_PAGE_DISTANCE) && (page < LEVEL_PAGES - 1))
    {        
        page++; 
        camera.offsetCenter(distanceX + CAMERA_WIDTH, 0);
    }
    else
    {        
        mCamera.offsetCenter(distanceX, 0);
    }
}


@Override
public void onClick(ClickDetector pClickDetector, int pPointerID,float pSceneX, float pSceneY) {
    //loadLeve(levelClicked);
}

アイデアや提案はありますか?

4

0 に答える 0