一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - js教程 - CocosCreator學習之模塊化腳本

CocosCreator學習之模塊化腳本

2022-03-05 20:38麥克煎蛋 js教程

這篇文章主要介紹了Cocos Creator 模塊化腳本,想加深學習CocosCreator腳本的同學,一定要看一下

Cocos Creator模塊化腳本

Cocos Creator 允許你將代碼拆分成多個腳本文件,并且讓它們相互調用。這個步驟簡稱為 模塊化。

模塊化使你可以在 Cocos Creator 中引用其它腳本文件:

  • 訪問其它文件導出的參數
  • 調用其它文件導出的方法
  • 使用其它文件導出的類型
  • 使用或繼承其它 Component

Cocos Creator 中的 JavaScript 使用和 Node.js 幾乎相同的 CommonJS 標準來實現模塊化,簡單來說:

  • 每一個單獨的腳本文件就構成一個模塊
  • 每個模塊都是一個單獨的作用域
  • 以 同步 的 require 方法來引用其它模塊
  • 設置 module.exports 為導出的變量

當你在腳本中聲明了一個組件,Creator 會默認把它導出,其它腳本直接 require 這個模塊就能使用這個組件。

?
1
2
3
4
5
6
// Rotate.js
 
cc.Class({
   extends: cc.Component,
   // ...
});<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
2
3
4
5
6
7
8
9
10
// SinRotate.js
 
var Rotate = require("Rotate");
 
var SinRotate = cc.Class({
    extends: Rotate,
    update: function (dt) {
        this.rotation += this.speed * Math.sin(dt);
    }
});

模塊里不單單能定義組件,實際上你可以導出任意 JavaScript 對象。假設有個腳本 config.js

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// config.js - v2
 
var cfg = {
    moveSpeed: 10,
    version: "0.15",
    showTutorial: true,
 
    load: function () {
        // ...
    }
};
cfg.load();
 
module.exports = cfg;

現在如果我們要在其它腳本中訪問 cfg 對象:

?
1
2
3
4
// player.js
 
var config = require("config");
cc.log("speed is", config.moveSpeed);

module.exports 的默認值:
當你的 module.exports 沒有任何定義時,Creator 會自動優先將 exports 設置為腳本中定義的 Component。如果腳本沒定義 Component 但是定義了別的類型的 CCClass,則自動把 exports 設為定義的 CCClass。

導出變量

module.exports 默認是一個空對象({}),可以直接往里面增加新的字段。

?
1
2
3
4
5
6
7
8
// foobar.js:
 
  module.exports.foo = function () {
      cc.log("foo");
  };
  module.exports.bar = function () {
      cc.log("bar");
  };
?
1
2
3
4
5
// test.js:
 
  var foobar = require("foobar");
  foobar.foo();    // "foo"
  foobar.bar();    // "bar"

module.exports 的值可以是任意 JavaScript 類型。

?
1
2
3
4
5
6
7
8
// foobar.js:
 
  module.exports = {
      FOO: function () {
          this.type = "foo";
      },
      bar: "bar"
  };
?
1
2
3
4
5
6
// test.js:
 
  var foobar = require("foobar");
  var foo = new foobar.FOO();
  cc.log(foo.type);      // "foo"
  cc.log(foobar.bar);    // "bar"

以上就是CocosCreator學習之模塊化腳本的詳細內容,更多關于CocosCreator模塊化腳本的資料請關注服務器之家其它相關文章!

原文鏈接:https://www.cnblogs.com/mazhiyong/p/13745264.html

延伸 · 閱讀

精彩推薦
  • js教程微信小程序抽獎組件的使用步驟

    微信小程序抽獎組件的使用步驟

    這篇文章主要給大家介紹了關于微信小程序抽獎組件的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需...

    い 狂奔的蝸牛10892021-12-29
  • js教程基于 Next.js 的 SSR/SSG 方案了解一下?

    基于 Next.js 的 SSR/SSG 方案了解一下?

    服務端渲染(SSR,Server Side Render)與客戶端渲染(CSR,Client Side Render)的核心區分點簡單來說就是完整的 HTML 文檔在服務端還是瀏覽器里組裝完成。...

    DYBOY4872021-12-27
  • js教程微信小程序實現多行文字滾動效果

    微信小程序實現多行文字滾動效果

    這篇文章主要介紹了微信小程序實現多行文字滾動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Archer_yy5362022-02-19
  • js教程JavaScript深拷貝的一些踩坑記錄

    JavaScript深拷貝的一些踩坑記錄

    這篇文章主要給大家介紹了關于JavaScript深拷貝的一些踩坑記錄,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要...

    YDJFE6672022-02-19
  • js教程JavaScript使用setTimeout實現倒計時效果

    JavaScript使用setTimeout實現倒計時效果

    這篇文章主要為大家詳細介紹了JavaScript使用setTimeout實現倒計時效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    清水拌墨茶5092022-01-21
  • js教程微信小程序授權登錄的優雅處理方式

    微信小程序授權登錄的優雅處理方式

    這篇文章主要給大家介紹了關于微信小程序授權登錄的優雅處理方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值...

    FTD止水11622022-02-15
  • js教程微信小程序實現下拉加載更多商品

    微信小程序實現下拉加載更多商品

    這篇文章主要為大家詳細介紹了微信小程序實現下拉加載更多商品,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    保護我方豆豆8222021-12-22
  • js教程微信小程序wxss如何引用外部CSS文件以及iconfont

    微信小程序wxss如何引用外部CSS文件以及iconfont

    這篇文章主要給大家介紹了關于微信小程序wxss如何引用外部CSS文件以及iconfont的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定...

    iaofy6172022-02-15
主站蜘蛛池模板: 久久久96 | 4438成人网| 午夜香蕉成视频人网站高清版 | 我不卡影院手机在线观看 | 午夜国产精品福利在线观看 | 色狠狠婷婷97 | 四虎成人影院网址 | 欧美最猛性xxxxx男男 | 欧美夜夜精品一级爽 | 456亚洲老头视频 | 国产成人免费观看在线视频 | 精品久久久久久久久久香蕉 | 日韩一级片在线免费观看 | 欧亚尺码专线欧洲s码wmy | 特级淫片大乳女子高清视频 | 白丝尤物的下面被疯狂蹂躏 | 国产高清精品自在久久 | 色狼屋 | 精品国产成a人在线观看 | 视频二区 素人 欧美 日韩 | 国产99re在线观看69热 | 精品AV无码一二三区视频 | 久久久91精品国产一区二区 | 欧美日本一道高清免费3区 欧美人做人爱a全程免费 | 日本无吗免费一二区 | 婷婷天天 | 视频免费在线 | www.色女人.com| 国产裸舞在线一区二区 | 欧美一区二区三区免费高 | 亚洲视频中文字幕 | 女人把扒开给男人爽 | 奇米影视99 | 亚洲精品第一国产综合 | 久青草国产97香蕉在线视频 | 手机在线观看伦理片 | 韩剧消失的眼角膜免费完整版 | 亚洲第一福利网 | 男gay男gay男gay野外 | 欧美色青 | 亚洲国产精品成人综合久久久 |