Cocos Creator學習(一)

一個簡單的組件腳本。

cc.Class({
    extends: cc.Component,

    properties: {
    },

    // use this for initialization
    onLoad: function () {
    },

    // called every frame, uncomment this function to activate update callback
    update: function (dt) {
    },
});

 

通過在組件腳本中聲明屬性,我們可以將腳本組件中的字段可視化地展示在 屬性檢查器 中,從而方便地在場景中調整屬性值。

要聲明屬性,僅需要在 cc.Class 定義的 properties 字段中,填寫屬性名字和屬性參數即可,在屬性檢查器中方便查看修改。

編寫這些腳本的用處:這些代碼就是編寫一個組件(腳本)所需的結構。具有這樣結構的腳本就是 Cocos Creator 中的 組件(Component),他們能夠掛載到場景中的節點上,提供控制節點的各種功能。例如:例子中的Player控制小怪物彈跳,Game產生星星。

 

完整聲明:

properties: {
    score: {
        default: 0,
        displayName: "Score (player)",
        tooltip: "The score of player",
    }
}

以上代碼爲 score 屬性設置了三個參數 default, displayNametooltip。這幾個參數分別指定了 score 的默認值爲 0,在 屬性檢查器 裏,其屬性名將顯示爲:“Score (player)”,並且當鼠標移到參數上時,顯示對應的 Tooltip。

下面是type,displayName等的屬性參數:http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html

這些參數控制了屬性在 屬性檢查器 中的顯示方式,以及屬性在場景序列化過程中的行爲。

type 參數

default 不能提供足夠詳細的類型信息時,爲了能在 屬性檢查器 顯示正確的輸入控件,就要用 type 顯式聲明具體的類型:

  • 當默認值爲 null 時,將 type 設置爲指定類型的構造函數,這樣 屬性檢查器 才知道應該顯示一個 Node 控件。

      enemy: {
          default: null,
          type: cc.Node
      }
    
  • 當默認值爲數值(number)類型時,將 type 設置爲 cc.Integer,用來表示這是一個整數,這樣屬性在 屬性檢查器 裏就不能輸入小數點。

      score: {
          default: 0,
          type: cc.Integer
      }
    
  • 當默認值是一個枚舉(cc.Enum)時,由於枚舉值本身其實也是一個數字(number),所以要將 type 設置爲枚舉類型,才能在 屬性檢查器 中顯示爲枚舉下拉框。

      wrap: {
          default: Texture.WrapMode.Clamp,
          type: Texture.WrapMode
      }
    

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章