Cocos创建编辑器扩展的简单介绍

ops/2024/12/12 20:30:55/
(一)

创建一个扩展的入口,点击之后会弹出面板,我目前只尝试了第一个模板(空白),在里面写下扩展名(扩展名不能有大写字母),作者等等信息之后      点击创建扩展

(二)

创建之后在项目的根目录下自动给你创建一个文件夹,里面的  文件夹名是你上面创建扩展名的文件夹  就保存着扩展的文件。

(三)

官方介绍链接扩展编辑器 | Cocos Creator

使用VSCode打开此文件夹,以下是文件夹结构

主要的文件是

main.js 里面写执行的方法

i18n 文件夹主要是多语言相关,里面是英文和中文的json文件

package.json

{"$schema": "./@types/schema/package/index.json","package_version": 2,"name": "ablanktemplate",      //扩展名称"version": "1.0.0","author": "f",                 //作者名"editor": ">=3.8.3","scripts": {"preinstall": "node ./scripts/preinstall.js","build": "tsc","watch": "tsc -w"},"description": "i18n:ablanktemplate.description",   //描述 i18n:是多语言标识"main": "./dist/main.js",           //主函数,对应main.js"devDependencies": {"@cocos/creator-types": "^3.8.3","@types/node": "^18.17.1","typescript": "^4.3.4"},"contributions": {"menu": [   //按钮{"path": "i18n:ablanktemplate",  //按钮层级"label": "i18n:ablanktemplate.show_log",  //按钮显示文字"message": "show-log"  //按钮绑定方法,下面}],"messages": {   "show-log": {    //main.js里绑定方法"methods": ["showLog"]}}}
}
(四) 

创建好后在打开扩展,点击扩展管理器,在弹出面板里点击“已安装扩展”

如果没显示就点击一下上面的刷新扩展按钮 

 

打开按钮如上图就加载了该扩展。加载之后 效果如下图

(五) 修改方法

打开main.js文件

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.unload = exports.load = exports.methods = void 0;
/*** @en Registration method for the main process of Extension* @zh 为扩展的主进程的注册方法*/
exports.methods = {/*** @en A method that can be triggered by message* @zh 通过 message 触发的方法*/showLog() {console.log('Hello World');},
};
/*** @en Method Triggered on Extension Startup* @zh 扩展启动时触发的方法*/
function load() { }
exports.load = load;
/*** @en Method Triggered on Extension Uninstallation* @zh 卸载扩展时触发的方法*/
function unload() { }
exports.unload = unload;

 load和unload方法会在加载和卸载时候调用

 showLog() {

        console.log('Hello World');

    },

就是在package.json里面按钮绑定的方法,点击那个按钮时候就会调用这个方法

(六)增加按钮

打开package.json 在contributions增加,根据自己命名即可

"contributions": {"menu": [{"path": "i18n:ablanktemplate","label": "i18n:ablanktemplate.show_log","message": "show-log"},{"path": "i18n:ablanktemplate","label": "000","message": "show-log1"}],"messages": {"show-log": {"methods": ["showLog"]},"show-log1": {"methods": ["showLog1"]}}

绑定方法之后打开main.js,添加方法即可

exports.methods = {/*** @en A method that can be triggered by message* @zh 通过 message 触发的方法*/showLog() {console.log('Hello World');},showLog1(){}
};

回到Cocos中,可以重新卸载加载一次扩展(在扩展管理器)就可以应用上刚才的修改了(不要重名,不然会不显示)

ps:写的比较乱,不懂得可以评论区问我,不对的地方请指正,感谢 


http://www.ppmy.cn/ops/141334.html

相关文章

渗透利器-kali工具 (第四章-5) 爬虫入门

Python爬虫入门[spider] 1,交换机制: 服务器与本地的交换机制: http协议:客户端与服务器一种会话的方式。 客户端-------[requests[请求]]------->服务器 客户端-------[response[响应]]------>服务器 HTTP请求&#xff1a…

【HarmonyOS实战开发】鸿蒙JS崩溃分析

当未处理的JS异常导致应用意外退出时,应用会生成对应的JS崩溃日志文件,开发者可通过错误日志查看引起崩溃的代码位置及分析应用崩溃的原因。本文将分别介绍JS崩溃分析思路以及典型分析案例。 一、日志信息 以下是崩溃日志信息中对应字段解释。 Device…

F5-TTS文本语音合成模型的使用和接口封装

F5-TTS文本语音生成模型 1. F5-TTS的简介 2024年10月8日,上海交通大学团队发布,F5-TTS (A Fairytaler that Fakes Fluent and Faithful Speech with Flow Matching) 是一款基于扩散Transformer和ConvNeXt V2的文本转语音 (TTS) 模型。F5-TTS旨在生成流…

go语言的成神之路-筑基篇-gin常用功能

第一节-gin参数绑定 目录 第一节-?gin参数绑定 ShouldBind简要概述 功能: 使用场景: 可能的错误: 实例代码 效果展示 第二节-gin文件上传 选择要上传的文件 选择要上传的文件。 效果展示? 代码部分 第三节-gin请求重定向 第…

MATLAB 点云生成凸包,计算表面积和体积(94)

MATLAB 点云生成凸包,计算表面积和体积(94) 一、算法介绍二、算法实现1.代码2.结果一、算法介绍 利用点云生成了三维凸包,并且计算了凸包的表面积和体积等有用信息,下面是具体的实现代码和计算结果 二、算法实现 1.代码 代码如下(示例): % 加载点云数据 input_cl…

《探索形象克隆:科技与未来的奇妙融合》

目录 一、什么是形象克隆 二、形象克隆的技术原理 三、形象克隆的发展现状 四、形象克隆的未来趋势 五、形象克隆的应用场景 六、形象克隆简单代码案例 Python 实现数字人形象克隆 Scratch 实现角色克隆效果(以猫为例) JavaScript 实现 Scratc…

备赛蓝桥杯--算法题目(4)

1. 相交链表 160. 相交链表 - 力扣(LeetCode) class Solution { public:ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) {int cnt0;ListNode* h1headA;ListNode* h2headB;while(h1->next){h1h1->next;cnt;}while(h2->next…

python 词向量的代码解读 self.word_embeds = nn.Embedding(vocab_size, embedding_dim) 解释下

在PyTorch中,nn.Embedding 是一个用于将稀疏的离散数据表示为密集的嵌入向量的模块。这在自然语言处理(NLP)任务中非常常见,例如在处理单词或字符时,我们通常需要将这些离散的标识符转换为可以被神经网络处理的连续值向…