我有 3 个场景。
- 游戏模式场景
- 播放模式场景
- 游戏场景
在 GameModeScene 和 PlayModeScene 中,每当用户触摸场景时,我都会播放声音
-public class GameModeScene extends Scene implements IOnSceneTouchListener{}
-public class PlayModeScene extends Scene implements IOnSceneTouchListener{}
这就是我在SceneTouchEvent上播放声音的方式
public boolean onSceneTouchEvent(Scene pScene,TouchEvent pSceneTouchEvent) {
if(pSceneTouchEvent.isActionDown()){
// This Method plays sound
this.animateSparkles(pSceneTouchEvent.getX(),pSceneTouchEvent.getY());
}
return false;
}
在更改场景时,我将 PlayModeScene 作为 ChildScene 设置为 GameModeScene ,然后将 GameScene 作为 ChildScene 设置为 GameModeScene 。
在 GameScene 中,我没有在任何地方播放声音,但仍在播放声音。很明显是从前一幕来的。我怎么能阻止它。我不想在 GameScene 中出现那种声音。
这就是我在将场景从 PlayModeScene 更改为 GameScene 时所做的事情。
mActivity.getEngine().runOnUpdateThread(new Runnable(){
public void run() {
mPlayModeScene.clearTouchAreas();
mPlayModeScene.detachChildren();
mActivity.getEngine().clearUpdateHandlers();
mPlayModeScene.setChildScene(
mActivity.getSceneController().getScene(SceneType.SinglePlayerNewGameScene)
);
}
});