定义一个属性_CocosCreator脚本属性个性化定制——下拉列表属性、滑动条属性
一、聲明屬性
要聲明屬性,需要在 cc.Class 定義的 properties 字段中,填寫屬性名字和屬性參數。在此處聲明的屬性在Cocos Creator編輯器屬性檢查器面板中可以讀取和編輯。如下:
二、下拉列表
要在屬性檢查器上顯示為下拉列表的樣式,需設置屬性類型為枚舉,并設置默認值為枚舉值。為了設置為枚舉,需定義一個枚舉類型,可以使用Cocos提供的cc.Enum定義枚舉。
1. 中文下拉選項文字
要想定義中文的下拉選項文字,必須使用cc.Enum。
2. 動態設置屬性的可見性(類似級聯下拉列表)
要想選擇不同的下拉選項,在屬性面板上顯示或隱藏不同的屬性,需把要動態設置可見性的屬性的visible寫成函數的形式,并在函數中根據不同的情況返回不同的布爾值。
三、滑動條
實現滑動條樣式需設置屬性的min,max,step,并把slide設置為true。
四、回調函數
要想在屬性面板綁定回調函數,需設置屬性的type為cc.Component.EventHandler,設置默認值為空,并且在構造函數中初始化屬性為cc.Component.EventHandler的實例。
五、自定義類
用自定義類定義一個屬性,可實現對多個屬性分組。用cc.Class定義一個類,并設置name為類名。然后設置屬性的type為自定義類的類名,設置默認值為空。然后在構造函數里實例化屬性值。
六、實時預覽
要想在屬性面板上設置的值產生的效果可以在編輯器中實時預覽,需要讓腳本在編輯器模式下運行。為此,需要在類中定義editor屬性,并設置executeInEditMode為true。而editor 只能定義在 cc.Component 的子類中。而在設置過面板上的數據后,還要用屬性notify來更新狀態。下面舉個例子:有三個label,用一個可以在面板上設置的數值來控制顯示的label的個數。如下圖所示效果(設置Label Num的值為2,則只顯示前面兩個Label):
實現代碼PropViewNow如下:
七、其他樣式
鎖定:設置readonly為true。文本框:把屬性的默認值設置為字符串字面量,若想初始文本為空,則設置空的字符串。無需設置type。整數數值:要想使屬性在屬性面板上只接受整數,需把屬性的type設置為cc.Integer。若不設置type,把默認值設置為數值,則表示屬性為浮點數。
八、屬性類型定義方式總結
1、當屬性類型為基本類型時:用字面量設置其默認值。完整聲明時也無需設置type。
2、當屬性類型為cc.ValueType的子類時:設置默認值為該類的實例,或者在簡單聲明中填寫其構造函數。這些類有:cc.Color,cc.Vec2,cc.Rect等。
3、當屬性類型為其他類時:把屬性的type設置為其構造函數,默認值設置為null或者{},或者在簡單聲明中設置其構造函數。若想在面板上顯示非空的值,需要在ctor里面用實例初始化這個屬性。
總結
以上是生活随笔為你收集整理的定义一个属性_CocosCreator脚本属性个性化定制——下拉列表属性、滑动条属性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easylog 使用_Easyloggi
- 下一篇: pandas读取前几行数据_csv –