当前位置: 首页 > 网络应用技术

可可2.x扩展开发教程

时间:2023-03-07 23:49:57 网络应用技术

  可可扩展使Cocos Creator用户可以自定义和扩展编辑器函数。这些扩展名以数据包的形式加载。

  COCOS创建者的扩展使用Node.js社区的软件包设计方法来定义扩展包的内容和注册信息,以描述文件。

  应该注意的是,COCOS Creator 2.X系列和Cocos Creator 3.X系列的扩展与不同的位置不兼容,因此开发教程不同。本文讨论了Cocos Creator 2.X系列扩展开发教程。Cocos Creator 3.X系列放置在下一篇文章中。

  官方开发教程是:扩展编辑器·可可创作者

  可可扩展的商店页面是https://store.cocos.com/app,可以直接在Cocos Creator IDE中打开。

  图1开放路径:菜单 - >扩展 - >扩展商店

  注意:本文中要提到的Smartad试用和包装工具是这种情况。

  在这种情况下描述的Smartad试验包装工具的扩展是COCOS包装试验广告的扩展。

  试用广告是一种新兴广告,近年来已经开始上升。与传统的广告格式(例如图片和视频)不同,试验广告与用户高度互动。当广告显示时,您可以与用户进行交互,以使广告更丰富,有趣。

  这些广告可以在30秒内吸引观众的注意力,展示游戏玩法并改变用户。即使在激烈的竞争市场中,它们也可以提供低用户的获取成本(CPI),高转化率(CVR)和点击(CTR)(CTR)。

  试用广告本质上是一个HTML网页,它通过JS等技术响应用户操作以与用户交互。到带宽和加载速度,试验广告通常对文件大小有严格的要求。启动渠道的大多数要求不超过5m,并且需要单个文件,也就是说,所有资源必须加载并显示在HTML中。

  由于发动机的特性,可可非常适合制作试验广告,但是可可的出口是多file目录。它需要用一个具有特殊工具的单个文件包装,并连接到每个通道的SDK。这是一个时间消耗的时间消耗的力量。Smartad平台已经开发了一种工具,可以完成COCOS项目,以一键单击导出试验广告。为了使用户更方便,有必要开发可可创建者扩展,以促进用户使用。

  关于试用广告,如果您想了解更多信息,则可以阅读本文:应用程序,游戏和品牌 - 审判广告中心智能中心智能试验广告平台的新营销方法

  该扩展的过程是:

  选择菜单上的扩展 - >创建新的扩展插头-in->全局扩展名(安装在用户目录中)以创建扩展名。这里的名称使用sartaddemo

  上述操作将在用户目录中生成目录。结构如下:

  这些文件如下:

  package.json是一个扩展定义。文件的内容如下:`{{

  “名称”:“ smartaddemo”,

  “版本”:“ 0.0.1”,

  “描述”:“开始启动的软件包模板。”,

  “作者”:“可可创造者”,

  “ main”:“ main.js”,

  “主菜单”: {

  “ i18n:main_menu.package.title/smartaddemo/open”:{

  “消息”:“ SmartAddemo:Open””

  },,

  “ i18n:main_menu.package.title/smartaddemo/hello”:{{{{

  “消息”:“ smartaddemo:say-hello”

  }

  },,

  “控制板”: {{

  “ main”:“面板/index.js”,

  “ type”:“ dockable”,

  “标题”:“ smartaddemo”,

  “宽度”:400,

  “高度”:300

  }

  }`

  价值分别:

  扩展的输入文件,在package.json中的主角中引入

  `'使用严格';

  Module.exports = {

  加载 () {{

  //加载程序包时执行

  },,

  unload(){

  //卸载时执行

  },,

  //在这里注册您的IPC消息

  消息:{

  '打开' () {

  //在Package.json中注册的打开条目面板

  editor.panel.open('smartaddemo');

  },,

  '问好' () {

  editor.log('Hello world!');

  //将IPC消息发送到面板

  editor.ipc.sendtopanel('smartaddemo','smartaddemo:hello');

  },,

  'clicked'(){

  editor.log('按钮单击!');

  }

  },,

  };`

  价值分别:

  面板入口文件,介绍包装。

  editor.panel.extend({

  //面板的CSS样式

  样式:`

  :主机{Margin:5px;}

  H2 {颜色:#f90;}

  `,,

  //面板的HTML模板

  模板:`

  状态: - 登上专业

  `,,

  //元素和可变绑定

  $:{{{

  btn:'#btn',

  标签:'#label',

  },,

  //当成功加载和初始化模板和样式时,方法执行

  准备好 () {{

  这。美元

  editor.ipc.sendtomain('smartaddemo:clicked');

  });

  },,

  //在这里注册您的IPC消息

  消息:{

  'smartaddemo:你好'(event){

  这。$ label.innertext ='Hello!';

  }

  }

  });`

  价值分别:

  可可创建者编辑器的扩展名具有构建的多语言解决方案。此方法是创建一个在扩展程序包的分离中命名的新文件夹,并将相应的JavaScript文件添加到每个语言中,因为键值映射数据。数据文件名称应该与语言代码一致,例如相应的英语映射数据。

  喜欢:

  `// en.js

  Module.exports = {

  “搜索”:“搜索”,

  “编辑”:“编辑”,

  };

  // zh.js

  Module.exports = {

  “搜索”:“搜索”,

  “编辑”:“编辑”,

  };`

  在JavaScript脚本中,您可以通过界面获得与当前语言相对应的翻译文本,例如:`//注意:我的软件包名称是“ smartaddemo”

  editor.t('smartaddemo.search');//注意:我的包装名称是“ SmartAddemo”

  editor.panel.extend({

  模板:`

  ````

  });`

  多语言翻译可以以扩展程序包中的注册菜单的形式使用。

  我们的扩展只需要打开一个,因此更改如下:

  `{{{

  “名称”:“ smartaddemo”,

  “版本”:“ 0.0.1”,

  “描述”:“开始启动的软件包模板。”,

  “作者”:“可可创造者”,

  “ main”:“ main.js”,

  “主菜单”: {

  “ i18n:main_menu.package.title/smartaddemo/i18n:smartaddemo.open”:{

  “消息”:“ SmartAddemo:Open””

  }

  },,

  “控制板”: {{

  “ main”:“面板/index.js”,

  “ type”:“ dockable”,

  “标题”:“ smartaddemo”,

  “宽度”:400,

  “高度”:300

  }

  }`

  相应的I18N文件如下:`// en.js

  Module.exports = {

  “开放”:“ Smartad可玩广告包”

  };

  // zh.js

  Module.exports = {

  “开放”:“ Smartad试用广告包”

  };`

  COCOS创建者的主菜单可以自由扩展。扩展方法是在文件中的字段中添加自己的菜单路径和菜单设置选项。

  我们在这里只需要一个,因此配置如下:`{{

  “主菜单”: {

  “”:map_martaddemdemdemdemdemomo.open”:{:{:{

  “消息”:“ SmartAddemo:Open””

  }

  },,

  }`

  效果显示在图中:

  面板的原型显示在图中:

  为了使代码更易读,我们将面板分为HTML和CSS和JS。特定方法是在面板目录中创建index.html和index.css文件,并在index.js中引用它。

  目录如下:

  index.html:`

  步骤1:添加Smartad SDK(只有一行代码,您可以导出Omni -Channel试用广告)

  步骤2:构建一个项目(选择Web移动平台)

  查看教程文档或咨询人工客户服务

  ````

  index.css:`身体{

  背景:#fff;

  }

  : 主持人 {

  保证金:5px;

  }

  H2 {{

  颜色:#fff;

  文本合格:中心;

  }

  p {

  字体大小:16px;

  }

  .btn_group {

  文本合格:中心;

  保证金顶:20px;

  }

  .button-item {

  宽度:130px;

  身高:40px;

  边界拉迪乌斯:5px;

  颜色:#fff;

  }

  白颜色;`

  index.js:`const fs = requees('fs');

  // panel/index.js,此文件名需要匹配package.json中注册的文件名。

  editor.panel.extend({

  //面板的CSS样式

  样式:fs.ReadFileSync(editor.url('packages://smartaddemo/panel/index.css'),),),),),),),),),),),),),),),),),),),),),),),),),)

  //面板的HTML模板

  模板:fs.ReadFilesync(editor.url('packages://smartaddemo/panel/index.html'),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),),)。

  //元素和可变绑定

  $:{{{

  cancel_btn:'#cancel_btn',

  pack_btn:'#pack_btn',

  help_link:'#help_link',

  msg:'#msg'

  },,

  //当成功加载和初始化模板和样式时,方法执行

  准备好 () {{

  },,

  })。

  效果显示在图中

  COCOS Creator为开发人员提供了非常丰富的接口元素,称为Uikit,帮助开发人员快速开发面板界面。

  当前的常见接口元素包括:

  查看所有元素:Master UI套件·可可创作者

  我们仅在这里使用UI-Button作为演示。HTML中的取消和包装按钮如下:

  `取消

  包装`

  在面板上定义了Uikit之后,通过JS中的$绑定它:`$:{

  cancel_btn:'#cancel_btn',

  pack_btn:'#pack_btn'

  } 这。$ CANCAL_BTN`。

  根据步骤2中的过程,下一个操作是用户单击“包装”按钮以开始检测施工文件并压缩上传。

  让我们首先绑定按钮的点击,通过该方法将事件添加到元素:``ready(){

  这。$ castut_btn.addeventlistener('escrence',()=> {

  editor.panel.close('smartaddemo');

  });

  这。$ pack_btn.addeventlistener('escresence',()=> {

  });

  这。$ help_link.addeventlistener('click',()=> {

  });

  },`作为上面的代码,我们添加了单击以“取消”,“包装”和帮助文本。

  为了使代码更好地组织和读取,我们在扩展的src/smartad.js中编写了主要逻辑,并且在此处实现了扩展程序的所有过程。

  在面板的JS中,我们可以通过以下方式引用Smartad.js:

  “包装”按钮中的引用:`const _ self = this;

  这。$ pack_btn.addeventlistener('escresence',()=> {

  尝试 {

  smartad.main(功能msgcallback(msg){

  _自己。$ msg.innerhtml = msg;

  });

  }捕获(e){

  editor.log(e);

  }

  });`

  文件上传标准HTTP POST请求可以实现。

  我们在此处使用FS模块的方法来读取上传文件,创建一个流,上传文件的字段为zip,示例如下:`函数upload_zip(zip_file){

  令FormData = {

  zip:fs.CreateReadStream(zip_file),

  };

  }`

  请求库在此处使用,代码如下:`函数request_i(params,pallback){

  让标头= {

  “用户代理”:“ Mozilla/5.0(Windows NT 10.0; Win64; X64)AppleWebkit/537.36(Khtml,像Gecko一样)Chrome/73.0.3683.103 Safari/537.36',,,,,537.36',,,,,,

  'content-type':'application/json',

  'sid':sid

  }

  params.headers =标题;

  request.post(参数,回调)

  }`

  最终目录结构如下:

  因为我们已经使用了压缩,所以我们需要引入第三部分压缩图书馆档案库以在package.json中引入。

  “依赖关系”:{

  “ Archiver”:“^5.3.0”

  }

  }`

  然后安装

  将扩展目录的所有文件(包括)压缩为zip格式,并将扩展名称命名。

  访问COCOS开发中心的注册帐户并登录

  填写上述信息后,您可以单击“评论”页面的提交中的评论按钮。通常,在3个工作日内将有结果。

  有关更多详细信息,请参阅:将插件-in提交到商店·Cocos Creator

  好吧,以上是Cocos Creator 2.x的扩展和开发的相关内容。欢迎留言交换。

  原始:https://juejin.cn/post/7098282592696270862