Java 单击按钮加载下一级

Java 单击按钮加载下一级,java,android,andengine,Java,Android,Andengine,我用的是安德发动机 我有一个场景,我想在我的所有关卡中重复使用 唯一会改变的是通过我创建的加载标高的方法加载到场景中的对象 我面临的问题是,在级别结束时,用户可以选择继续下一个级别。我允许用户使用此方法加载下一级 this.nextlevel = new Sprite(0,0,150,80,this.nextLevelRegion,this.getVertexBufferObjectManager()){ public boolean onAreaTouched(final T

我用的是安德发动机

我有一个场景,我想在我的所有关卡中重复使用

唯一会改变的是通过我创建的加载标高的方法加载到场景中的对象

我面临的问题是,在级别结束时,用户可以选择继续下一个级别。我允许用户使用此方法加载下一级

this.nextlevel = new Sprite(0,0,150,80,this.nextLevelRegion,this.getVertexBufferObjectManager()){
         public boolean onAreaTouched(final TouchEvent pSceneTouchEvent,
                final float pTouchAreaLocalX,
                final float pTouchAreaLoca) {

            GameScene.detachChildren();

            loadLevel(level);
            return true;
        }
};
loadLevel(int level_number)将int作为参数。我将这个变量增加++;加载当前级别后

问题是,当精灵被单击时,它会不断向级别整数添加+1,并试图加载错误的级别


有谁知道更好的方法吗?

这就是我在游戏中所做的: 我创建了一个类来创建游戏场景,这个类有一个方法来创建场景,并根据调用它时收到的数字加载XML级别。 当我想进入下一个级别时,我会得到当前级别的编号(比如说它的x),并使用x+1作为属性调用该方法。 您应该注意,在这种方法中,我依赖于重新创建场景,因此您应该在执行此操作时重置所有内容。 这是对该方法的调用:

 Sprite Next=new Sprite(x-48/factor, y+30/factor, 96/factor, 60/factor,LoadAssets.WinMenuNextTextureRegion){
@Override
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) {
if(pSceneTouchEvent.isActionUp()){
pEngine.setScene(GamePlayScene.CreateTheGamePlayScene(context,pEngine,camera_width, camera_height,GamePlayScene.LevelNumber+1));
}
return true;
}};
如果你想了解我的游戏是如何运作的,这里是我游戏的链接:
我在游戏中只有一个游戏场景,并且根据需要加载关卡。

谢谢,我会尝试一下!顺便说一下,这场比赛打得不错