3つのシーンがあります。
- GameModeScene
- PlayModeScene
- GameScene
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)
);
}
});