你的第一个扩展包
本文会教你如何创建一个简单的 Cocos Creator 扩展包,并且向你介绍一些扩展包中的基本概念。通过学习,你将会创建一个扩展包,并在主菜单中建立一个菜单项,并通过该菜单项在主进程中执行一条扩展指令。
创建并安装扩展包
main.js 和 package.json 两个文本文件。该扩展包的结构大致如下:
hello-world |--main.js |--package.json
~/.CocosCreator/packages(Windows 用户为 C:\Users\${你的用户名}\.CocosCreator\packages),或者放入到 ${你的项目路径}/packages 文件夹下即可完成扩展包的安装。
定义你的包描述文件:package.json
package.json 文件去描述他的用途,这样 Cocos Creator 编辑器才能知道这个包要扩展什么,从而正确加载。值得一提的是,虽然 package.json 在很多字段上的定义和 node.js 的 npm-package 相似,他们仍然是为不同的产品服务的,所以从 npm 社区中下载的包,并不能直接放入到 Cocos Creator 中变成插件。
package.json:
{ "name": "hello-world", "version": "0.0.1", "description": "一份简单的扩展包", "author": "Cocos Creator", "main": "main.js", "main-menu": { "Packages/Hello World": { "message": "hello-world:say-hello" } }}
解释:
nameString - 定义了包的名字,包的名字是全局唯一的,他关系到你今后在官网服务器上登录时的名字。versionString - 版本号,我们推荐使用 semver 格式管理你的包版本。descriptionString(可选) - 一句话描述你的包是做什么的。authorString(可选) - 扩展包的作者mainString (可选) - 入口程序main-menuObject (可选) - 主菜单定义入口程序
main.js了。定义如下:'use strict';module.exports = { load () { // 当 package 被正确加载的时候执行 }, unload () { // 当 package 被正确卸载的时候执行 }, messages: { 'say-hello' () { Editor.log('Hello World!'); } },};
load函数。并且会将定义在messages字段中的函数注册成 IPC 消息。更多关于入口函数中的消息注册,以及 IPC 消息的内容,我们会在 IPC简介 中讲解。messages字段中的函数,将会在主进程的 IPC 监听模块中,注册一份消息,其格式为${扩展包名}:${函数名},并将对应的函数作为 IPC 响应的函数。运行扩展包程序
Packages的菜单,点击Packages菜单中的Hello World将会发送一个消息 “hello-world:say-hello” 给我们的扩展包的main.js, 它会在 Creator 的控制台中打印出 “Hello World” 的日志信息。 恭喜你完成了第一个简单的编辑器扩展工具。
