经过调试,发现每次响应完都重新进入onEnter,如下log
onEnter
onEnter
onTouchBegan
onEnter
onTouchBegan
onEnter
onTouchBegan
onEnter
onTouchBegan
原因是上一个场景对应的Controller在切换的时候,没有禁止点击事件,导致每次点击这个Scene就会关联到上个Scene的onTouchBegan。
setTouchEnabled(false);
本来,我在onExit中设计了
@Override
public void onExit() {
Logger.log("onExit");
setTouchEnabled(false);
super.onExit();
}
但这个版本的SDK在切换场景时,不执行onExit,导致没有执行那句话。我在onTouchBegan中实现了。
@Override public boolean onTouchBegan(Touch touch, Event event) {
setTouchEnabled(false);
Director.getInstance().replaceScene(NodeReader.create().readScene("layouts/playing.cce")); return false;}这样就不会重复刷新了。