CocosCreator3D插件教程(5):消息机制详解

之前的教程,我们给插件添加菜单、编写菜单的响应逻辑、添加快捷键。

不难发现,要想玩转creator 3d插件,就必须要理解messages!!!

我们梳理下之前的代码:

  • package.json:描述插件,包括名字、作者、版本、菜单、快捷键、消息等
{
  "name": "hello-world",
  "version": "1.0.0",
  "author": "xu_yanfeng",
  "main": "./main.js",
  "description": "creator3d插件",
  "contributions": {
    "menu": [
      {"message": "onMenuClick","path": "插件","label": "自定义菜单"}
    ],
    "shortcuts": [
      {"message": "onMenuClick","win": "ctrl+z","mac": "cmd+z"}
    ],
    "messages": {
      "onMenuClick": {"methods": ["log"]}
    }
  }
}
  • main.js:插件的逻辑,消息的具体实现是写在这里面
exports.methods = {
    log () {
        console.log('hello-world')
    }
}

我们再次梳理下整个流程,加深下印象:

  • 当我们点击菜单时,会触发设置的onMenuClick消息,然后onMenuClick消息会执行具体对应方法log
  • 当我们按下快捷键时,会触发设置的onMenuClick消息,然后onMenuClick消息会执行具体对应方法log

我顺便整理了一张图,从图中,能够更加形象的感知之间的关系:

我们可以看到,利用消息机制,插件做到了设计上的完全解耦,非常的灵活,但同时也增加了理解难度,编写时也更叫容易犯错,有得必有失嘛!

悄悄的告诉大家,creator3D编辑器本身也在使用这套消息机制,并得到了充分的验证,这也充分说明这套消息机制,是完全可以胜任并满足比较复杂的插件需求,不过在易用性,还有待提高。

至此,如果你要编写的插件如果没有UI面板交互,基本上只需要掌握到本节的知识即可,在后续教程中,将会重点介绍插件UI面板相关的开发教程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xu_yanfeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值