AndEngine使用ScrollDetector的两个场景

时间:2012-05-17 03:00:30

标签: java android andengine

我有两个场景,一个带有播放按钮,另一个用户可以在游戏的不同级别滑动。

当用户点击播放时,我将子场景设置为关卡选择器场景。当用户按下后退按钮时,我删除了子场景。

唯一的问题是,当我向后导航时,播放按钮不再出现在屏幕上..我猜这与我的相机在用户在水平选择器场景中滚动时的更改有关。

以下是我允许用户滚动关卡的方法。

@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);
}

有任何想法或建议吗?

0 个答案:

没有答案