场景传值 求解

两个不同的场景之间的传值,两个场景分别对应两个js ,求解

方案1: 全局变量,提供getXXX,setXXX方法
方案2: 单例对象,也就是将全局变量给包装一下,不让随便访问
方案3:使用使用cc.director.on / cc.director.emit 来监听和发送消息, 当emit时,收消息的场景需要存在,还要注意场景关闭时及时移除消息监听

//收消息的场景
onLoad() {
    cc.director.on('my_message',this.onMyMessage, this);
}

//事件消息处理函数
onMyMessage(event) {
       //打印消息参数
       cc.log(event.detail);
}
//注意在场景关闭时,移除监听,不然会出错
onDestroy() {
    cc.director.on('my_message', this.onMyMessage, this);
}
//------------------------------
//发消息的场景
onXXX() {
    cc.director.emit('my_message', {str:'hello world'});
}

1赞