环境:
cocos2d-js 3.0 rc3
cocoStudio 1.6
前提:有两个场景A和B,可以互相切换。
场景切换时不会重新new 新的场景,也就是说不论怎么切换每个场景只有一个对象。
A中有一个按钮button,是用UI Editor创建,并导入到工程当中。
在初始化时,用代码给button追加了一个点击事件
button.addTouchEventListener…
问题:
当从A切换到B,再切换回A时,因为eventManager自动被清空,所以button的点击事件也就不再相应了。
目前的解决办法是,在场景A的onEnter事件中,加入如下代码:
button.setTouchEnabled(false);
button.setTouchEnabled(true);
以上方法可以解决,但不知道是不是标准用法,或者有没有其他思路,请给点建议。
延伸:
cc.MenuItem,这个类的用法跟ccui.button类似,但不属于UI范围。
这个类不论场景如何切换,点击事件始终都不会自动消失。
请问内部机制有什么不同?
为什么UI系列的控件不用同样的设计呢?