你的第一个扩展包

本文会教你如何创建一个简单的 Cocos Creator 扩展包,并且向你介绍一些扩展包中的基本概念。通过学习,你将会创建一个扩展包,并在主菜单中建立一个菜单项,并通过该菜单项在主进程中执行一条扩展指令。

创建并安装扩展包

main.jspackage.json 两个文本文件。该扩展包的结构大致如下:

  1. 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

  1. { "name": "hello-world", "version": "0.0.1", "description": "一份简单的扩展包", "author": "Cocos Creator", "main": "main.js", "main-menu": { "Examples/Hello World": { "message": "hello-world:say-hello" } }}

解释:

  • name String - 定义了包的名字,包的名字是全局唯一的,他关系到你今后在官网服务器上登录时的名字。
  • version String - 版本号,我们推荐使用 semver 格式管理你的包版本。
  • description String(可选) - 一句话描述你的包是做什么的。
  • author String(可选) - 扩展包的作者
  • main String (可选) - 入口程序
  • main-menu Object (可选) - 主菜单定义

    入口程序

    main.js 了。定义如下:
    1. 'use strict';module.exports = { load () { // 当 package 被正确加载的时候执行 }, unload () { // 当 package 被正确卸载的时候执行 }, messages: { 'say-hello' () { Editor.log('Hello World!'); } },};
    load 函数。并且会将定义在 messages 字段中的函数注册成 IPC 消息。更多关于入口函数中的消息注册,以及 IPC 消息的内容,我们会在后续章节中讲解。 messages 字段中的函数,将会在主进程的 IPC 监听模块中,注册一份消息,其格式为 ${扩展包名}:${函数名},并将对应的函数作为 IPC 响应的函数。

    运行扩展包程序

    Examples 的菜单,点击 Examples 菜单中的 Hello World 将会发送一个消息 “hello-world:say-hello” 给我们的扩展包的 main.js, 它会在 Creator 的控制台中打印出 “Hello World” 的日志信息。 恭喜你完成了一份简单的扩展。