• 售前

  • 售后

热门帖子
入门百科

CocosCreator学习之模块化脚本

[复制链接]
历史人物费 显示全部楼层 发表于 2021-10-26 12:53:36 |阅读模式 打印 上一主题 下一主题
Cocos Creator模块化脚本

Cocos Creator 允许你将代码拆分成多个脚本文件,并且让它们相互调用。这个步调简称为 模块化。
模块化使你可以在 Cocos Creator 中引用其它脚本文件:
       
  • 访问其它文件导出的参数   
  • 调用其它文件导出的方法   
  • 利用其它文件导出的范例   
  • 利用或继承其它 Component
Cocos Creator 中的 JavaScript 利用和 Node.js 险些雷同的 CommonJS 尺度来实现模块化,简单来说:
       
  • 每一个单独的脚本文件就构成一个模块   
  • 每个模块都是一个单独的作用域   
  • 以 同步 的 require 方法来引用其它模块   
  • 设置 module.exports 为导出的变量
当你在脚本中声明白一个组件,Creator 会默认把它导出,其它脚本直接 require 这个模块就能利用这个组件。
  1. // Rotate.js
  2. cc.Class({
  3.    extends: cc.Component,
  4.    // ...
  5. });<span style="font-family: "Courier New"; background-color: initial; color: rgb(0, 128, 0); line-height: 1.5 !important;"> SinRotate.js</span><br type="_moz" />
复制代码
  1. // SinRotate.js
  2. var Rotate = require("Rotate");
  3. var SinRotate = cc.Class({
  4.     extends: Rotate,
  5.     update: function (dt) {
  6.         this.rotation += this.speed * Math.sin(dt);
  7.     }
  8. });
复制代码
模块里不但单能界说组件,实际上你可以导出恣意 JavaScript 对象。假设有个脚本
  1. config.js
复制代码
  1. // config.js - v2
  2. var cfg = {
  3.     moveSpeed: 10,
  4.     version: "0.15",
  5.     showTutorial: true,
  6.     load: function () {
  7.         // ...
  8.     }
  9. };
  10. cfg.load();
  11. module.exports = cfg;
复制代码
现在假如我们要在其它脚本中访问 cfg 对象:
  1. // player.js
  2. var config = require("config");
  3. cc.log("speed is", config.moveSpeed);
复制代码
  1. module.exports
复制代码
的默认值:
当你的
  1. module.exports
复制代码
没有任何界说时,Creator 会主动优先将
  1. exports
复制代码
设置为脚本中界说的 Component。假如脚本没界说 Component 但是界说了别的范例的 CCClass,则主动把
  1. exports
复制代码
设为界说的 CCClass。
导出变量
  1. module.exports
复制代码
默认是一个空对象(
  1. {}
复制代码
),可以直接往内里增长新的字段。
  1. // foobar.js:
  2.   module.exports.foo = function () {
  3.       cc.log("foo");
  4.   };
  5.   module.exports.bar = function () {
  6.       cc.log("bar");
  7.   };
复制代码
  1. // test.js:
  2.   var foobar = require("foobar");
  3.   foobar.foo();    // "foo"
  4.   foobar.bar();    // "bar"
复制代码
  1. module.exports
复制代码
的值可以是恣意 JavaScript 范例。
  1. // foobar.js:
  2.   module.exports = {
  3.       FOO: function () {
  4.           this.type = "foo";
  5.       },
  6.       bar: "bar"
  7.   };
复制代码
  1. // test.js:
  2.   var foobar = require("foobar");
  3.   var foo = new foobar.FOO();
  4.   cc.log(foo.type);      // "foo"
  5.   cc.log(foobar.bar);    // "bar"
复制代码
以上就是CocosCreator学习之模块化脚本的详细内容,更多关于CocosCreator模块化脚本的资料请关注草根技术分享其它相关文章!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作