这是场景:
我有以下场景:
- 飞溅场景
- 加载场景
- 游戏模式场景
- 播放模式场景
- 游戏场景
我有一个管理场景之间导航的 SceneController 类。
在 SceneController 我有所有场景的实例。
我正在初始化所有场景实例并在 LoadingScene 中加载所有场景资源。
当我将场景从 GameModeScene 更改为 PlayModeScene - 工作得非常好。
但是,当我尝试再次将场景更改为 GameModeScene 时,在第一次运行 GameModeScene 期间初始化的布尔值和其他变量保持不变并且不会重置。
注意:变量对每个类都是私有的,并且是非静态的
我试过 pGameModeSceneto.reset(); 但它不会工作。
有什么建议吗?
这是我初始化场景实例的方式
SceneController.loadSceneResources()
public void loadSceneResources(SceneType mType){
switch(mType){
case SplashScene:
this.mSplashScene = new SplashScene(this.mActivity);
break;
case LoadingScene:
mLoadingScene = new LoadingScene(mActivity);
break;
case GameModeScene:
mGameModeScene=new GameModeScene(this.mActivity);
break;
case PlayModeScene:
mPlayModeScene=new PlayModeScene(this.mActivity);
break;
case GameScene:
break;
default:
}
}
每个类的构造函数都在加载资源。
这是获取当前场景实例的方法
SceneController.getScene() 公共场景 getScene(SceneType mType){
switch(mType){
case SplashScene:
this.mCurrentScene = mSplashScene;
break;
case LoadingScene:
this.mCurrentScene = mLoadingScene;
break;
case GameModeScene:
this.mCurrentScene = mGameModeScene;
break;
case PlayModeScene:
this.mCurrentScene = mPlayModeScene;
break;
default:
}