Cocos Creator 使用 cc.Class 声明类型(摘自官方文档)
使用 cc.Class 声明类型 定义 CCClass 调用 var Sprite = cc.Class({
name: "sprite"
});
以上代码用 cc.Class 创建了一个类型,并且赋给了 实例化Sprite变量保存的是一个 JavaScript 构造函数,可以直接 new 出一个对象: var obj = new Sprite();
判断类型 需要做类型判断时,可以用 JavaScript 原生的 cc.log(obj instanceof Sprite); // true
构造函数 使用 var Sprite = cc.Class({
ctor: function () {
cc.log(this instanceof Sprite); // true
}
});
实例方法var Sprite = cc.Class({
// 声明一个名叫 "print" 的实例方法
print: function () { }
});
继承extends实现继承: // 父类
var Shape = cc.Class();
// 子类
var Rect = cc.Class({
extends: Shape
});
父构造函数继承后,CCClass 会统一自动调用父构造函数,你不需要显式调用。 var Shape = cc.Class({
ctor: function () {
cc.log("Shape"); // 实例化时,父构造函数会自动调用,
}
});
var Rect = cc.Class({
extends: Shape
});
var Square = cc.Class({
extends: Rect,ctor: function () {
cc.log("Square"); // 再调用子构造函数
}
});
var square = new Square();
以上代码将依次输出 "Shape" 和 "Square"。 声明属性通过在组件脚本中声明属性,我们可以将脚本组件中的字段可视化地展示在属性检查器中,从而方便地在场景中调整属性值。 要声明属性,仅需要在 cc.Class 定义的 cc.Class({
extends: cc.Component,properties: {
userID: 20,userName: "Foobar"
}
});
这时候,你可以在属性检查器中看到你刚刚定义的两个属性:
在 Cocos Creator 中,我们提供两种形式的属性声明方法: 简单声明在多数情况下,我们都可以使用简单声明。
注意:除了以上几种情况,其他类型我们都需要使用完整声明的方式来进行书写。 完整声明有些情况下,我们需要为属性声明添加参数,这些参数控制了属性在属性检查器中的显示方式,以及属性在场景序列化过程中的行为。例如: properties: {
score: {
default: 0,displayName: "Score (player)",tooltip: "The score of player",}
}
以上代码为 下面是常用参数:
更多的属性参数,可阅读属性参数 数组声明 数组的 default 必须设置为 properties: {
names: {
default: [],type: [cc.String] // 用 type 指定数组的每个元素都是字符串类型
},enemies: {
default: [],type: [cc.Node] // type 同样写成数组,提高代码可读性
},}
get/set 声明在属性中设置了 get 或 set 以后,访问属性的时候,就能触发预定义的 get 或 set 方法。定义方法如下: properties: {
width: {
get: function () {
return this._width;
},set: function (value) {
this._width = value;
}
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |