一个简单的组件脚本。
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
, displayName
和 tooltip
。这几个参数分别指定了 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 }