怎样通知另一个脚本执行方法?

在脚本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赞

太感谢了!!