在脚本A中,怎样通知脚本B执行它里面的某个一个方法?
直接获取组件调用或者事件监听
一般需要先通知脚本所在节点,通过节点访问节点上的脚本。
请问有简单例子吗?例如如何通知脚本上的节点?
三种方案:
1,组件 A 挂在 NodeA 上,组件 B 想要调用 A 的方法 fn :
NodeA.getComponent('A').fn()
2,用全局事件
// 在最开始的地方初始化
window.G.event = new cc.EventTarget()
// 在组件A上监听
G.event.on('eventName', (e) => {
// e.getUserData() 获取参数数据
console.log(e.getUserData() )
}, this)
// 在组件B中触发事件
G.event.emit('eventName', 'HelloWorld!')
3,继承
// 组件 A.js
cc.Class({
extends: cc.Component,
properties: {
},
// 要执行的方法
foo(){
console.log('Hello')
}
})
// 组件B
const A = require('A')
cc.Class({
extends: A,
properties: {
},
start() {
// 直接调用 A 下面的方法即可
foo()
}
})
1赞
太感谢了!!