新昌做网站,网站上传文件,asp网站开发实训报告,大数据获客营销系统软件代理定义类var Sprite cc.Class({name: sprite});var obj new Sprite();定义的类的类型名为 Sprite 可以用 new 构造一个对象。也可以不定义类名#xff0c;直接构造类。构造函数——ctor/ __ ctor__ctor 不允许含有参数#xff0c;如果构造时需要用到参数#xf…定义类var Sprite cc.Class({name: sprite});var obj new Sprite();定义的类的类型名为 Sprite 可以用 new 构造一个对象。也可以不定义类名直接构造类。构造函数——ctor/ __ ctor__ctor 不允许含有参数如果构造时需要用到参数必须使用__ctor__var Sprite cc.Class({ctor: function () {cc.log(this instanceof Sprite); // true}});继承——extends// 父类var Shape cc.Class();// 子类var Rect cc.Class({extends: Shape});父类构造函数不论子类是否有定义构造函数子类实例化前父类的构造函数都会被自动调用。不需要尝试调用父类的构造函数否则父构造函数就会重复调用。在一些很特殊的情况下父构造函数接受的参数可能和子构造函数无法兼容。这时开发者就只能自己手动调用父构造函数并且传入需要的参数这时应该将构造函数定义在__ ctor__中。var Node cc.Class({ctor: function () {this.name node;}});var Sprite cc.Class({extends: Node,ctor: function () {// 子构造函数被调用前父构造函数已经被调用过所以 this.name 已经被初始化过了cc.log(this.name); // node// 重新设置 this.namethis.name sprite;Node.call(this); // 别这么干this._super(); // 也别这么干}});var obj new Sprite();cc.log(obj.name); // sprite属性声明Cocos 类中将声明的属性放在 properties 中分简单声明和完整声明。简单声明当声明的属性为基本 JavaScript 类型时可以直接赋予默认值当声明的属性具备类型时(如cc.Nodecc.Vec2 等)可以在声明处填写他们的构造函数来完成声明当声明属性的类型继承自 cc.ValueType 时(如cc.Vec2cc.Color 或 cc.Rect)除了上面的构造函数还可以直接使用实例作为默认值当声明属性是一个数组时可以在声明处填写他们的类型或构造函数来完成声明properties: {height: 20, // numbertype: actor, // stringloaded: false, // booleantarget: null, // objecttarget: cc.Node,pos: cc.Vec2,pos: new cc.Vec2(10, 20),color: new cc.Color(255, 255, 255, 128),any: [], // 不定义具体类型的数组bools: [cc.Boolean],strings: [cc.String],floats: [cc.Float],ints: [cc.Integer],values: [cc.Vec2],nodes: [cc.Node],frames: [cc.SpriteFrame],}完整声明有些情况下我们需要为属性声明添加参数这些参数控制了属性在属性检查器中的显示方式以及属性在场景序列化过程中的行为常见属性default: 设置属性的默认值这个默认值仅在组件第一次添加到节点上时才会用到type: 限定属性的数据类型visible: 设为 false 则不在 属性检查器 面板中显示该属性serializable: 设为 false 则不序列化(保存)该属性displayName: 在 属性检查器 面板中显示成指定名字tooltip: 在 属性检查器 面板中添加属性的 Tooltipproperties: {score: {default: 0,displayName: Score (player),tooltip: The score of player,}}注可以在 onl oad 函数中用 this 设置属性防止变量在属性检查器中赋值后无法改变。静态变量静态变量或静态方法可以在原型对象的 statics 中声明var Sprite cc.Class({statics: {// 声明静态变量count: 0,// 声明静态方法getBounds: function (spriteList) {// ...}}});重写子类方法可以直接重写父类方法用 this._super 调用父类成员var Shape cc.Class({getName: function () {return shape;}});var Rect cc.Class({extends: Shape,getName: function () {var baseName this._super();return baseName (rect);}});var obj new Rect();cc.log(obj.getName()); // shape (rect)标签cc,Class,CocosCreator,var,构造函数,声明,class,属性来源 https://blog.csdn.net/qq_43575267/article/details/88796163