creator 静态属性_CocosCreator cc.class声明类

定义类

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.name

this.name = "sprite";

Node.call(this); // 别这么干!

this._super(); // 也别这么干!

}

});

var obj = new Sprite();

cc.log(obj.name); // "sprite"

属性声明

Cocos 类中,将声明的属性放在 properties 中,分简单声明和完整声明。

简单声明:

当声明的属性为基本 JavaScript 类型时,可以直接赋予默认值

当声明的属性具备类型时(如:cc.Node,cc.Vec2 等),可以在声明处填写他们的构造函数来完成声明

当声明属性的类型继承自 cc.ValueType 时(如:cc.Vec2,cc.Color 或 cc.Rect),除了上面的构造函数,还可以直接使用实例作为默认值

当声明属性是一个数组时,可以在声明处填写他们的类型或构造函数来完成声明

properties: {

height: 20, // number

type: "actor", // string

loaded: false, // boolean

target: null, // object

target: 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: 在 属性检查器 面板中添加属性的 Tooltip

properties: {

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559256.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何检测服务器运行正常运行,一种检测服务器运行状态的方法、装置和系统专利_专利查询 - 天眼查...

1. 一种检测服务器运行状态的方法,其特征在于,应用于客户端,所述客户端本地保存 有正常服务器信息表和故障服务器信息表;所述正常服务器信息表中存储有当前处于正常 状态的各服务器的标识信息,所述故障服务器信息表中存储有当前处…

问道五周年服务器维护公告,问道五周年 欢乐嘉年华

任务卷轴任务卷轴记录卷轴任务的道具,可以交易、摆摊、放入商店、卖给NPC、丢弃等操作,道具为打怪掉落或者商城购买,分为5个等级,等级越高,难度系数越高。卷轴使用1、右键点击使用道具,与道具等级不符的玩家…

datagridview设置为勾选才可编辑_使用lightroom前,做好这几项设置,有助于更好使用...

工欲善其事,必先利其器。每一款软件都有它需要特别关注的地方,在使用前做好相应的配置,可以大大提升使用体验,正所谓“磨刀不误砍柴工”。那lightroom使用前需要进行哪些设置呢?一、进行【首选项】设置1、如何打开【首…

惠普服务器u盘做win7系统,惠普u盘装win7系统 利用u盘装win7系统

现如今随着社会水平的提高,无论办公还是生活都是越来越离不开电脑,电脑品牌也很多,惠普电脑是比较受人关注的品牌电脑,惠普电脑在使用过程中系统可能会越来越卡顿或者出问题需要U盘重装系统,有些新手用户对于系统重装还…

mlag 堆叠_S-MLAG解决方案介绍

1摘要本文介绍了互联网接入层可靠性设计的发展和实现。随着互联网业务的快速的扩张和网络架构的发展,接入层可靠性也经历了从分到合,又从合到分的发展历程。本文讲述这一过程的同时也会详细阐述去堆叠技术的原理和实现方式。2服务器接入发展随着互联网的…

一般性能服务器图片及介绍,服务器内部主要几种硬件以及它们的作用介绍

服务器主要在网络中为客户端用户提供各种服务器的高性能的计算机,为用户提供计算、信息发布、数据管理等服务。但是这些服务器都离不开服务器的内部硬件支持。接下来,我们为大家介绍关于服务器的硬件有哪些以及它们的主要作用等知识。1.服务器CPU服务器的…

发那科攻丝回退参数_参数-Fanuc数控系统的攻丝拉拔动作倍率即回退速度倍率

众所周知Fanuc数控系统的参数多如牛毛。上千的参数,并且有的还是八位,虽然Fanuc发布有相关的参数说明书。但是,作为最终用户的我们,有的也只是公开发布的,也没有更新更全的相关资料。即便是有了相关书籍,又…

java 多态判断非空_Java 多态

父类的属性变量(例如变量 int a)可以被继承,同时在子类中也会同时继承该变量(super.int a,继承的变量),子类中也可以再次声明一个同名(可以同类型)的变量(double a,自己声明的同名变量),两者可以同时存在。在输出时候根据对象的引用名输出&am…

旋转轨迹_谁是最可怕的压轴题?——直线运动轨迹

运动问题是数学物理中非常喜欢研究的问题,这和我们本生生活的三维空间有密切的关系,我们无时无刻都在运动着,不论是坐着、站着还是躺着,都在不断运动。运动有复杂的运动,也有简单的运动,今天我们我们来聊一…

elementui表单校验原始密码_javascript 中入门数据校验

1.onSubmit 放在表单中,返回false为不提交 ,所以 放一个函数在里面所有的 数据获取,数据判断;都在内;(把一个value放到一个值,和另一个value值比对);2.获取提交的数据 ,判…

状态反射在体育运动中的作用_体育运动木地板时刻运行在最佳状态的秘诀

每日、每月和年度的维护可保持体育运动地板的外观和运动性能表现在最佳状态。大中小学校体育馆和商业运营场馆的维保人员承担着很多责任,其中最重要的是运动地板的护理和维护。体育场馆的运动地面一般由体育木地板、PVC地板或硅PU、丙烯酸地面等组成,因此…

chrome自动提交文件_实用!8个 chrome插件玩转GitHub,单个文件下载小意思

本文收录在个人博客,欢迎来寻宝实用!8个 chrome插件玩转GitHub,单个文件下载小意思​mp.weixin.qq.com作为程序员对 GitHub 应该都不会陌生,我经常沉迷其中,找一些惊艳的项目或者工具。不过用的时间久了,发…

vue 打开html流_在vue项目中添加一个html页面,开启本地服务器

在vue项目里新增一个不需要登录的页面,那么我只能新增一个html页面了,不经过路由,直接在浏览器输入路径打开,那么就需要用到本地服务器,1、vue里面的html页面最好放过在public文件夹里面,但是我的vue项目没…

c++保留小数点后三位数_C++保留有效位与保留小数位

如果想要保留n位小数 根据C++官网上的解释,该函数没有指定的返回类型,并且该函数用于设定输出操作上的小数精确位。 然后返回值中解释:未指定返回值,这个函数仅用于数据流修改操作上。 说了这么多,我想要表达的意思就是当我们需要将精确后的小数保存(将a精确后保存赋值给…

的translate插件_知否 ?知否 ?React插件了解一下!

为什么选择插件,而不是组件? 调用简单 this.$toast("xxx") ,不必再模板中提前定义 , 动态插入移除插件独立于业务更新不影响代码逻辑,做到热更新抽象,封装适用于toast,Dialog,Alert,…

分级调节是调节机制吗_机制砂大热,5种制砂工艺及特点介绍,选对生产工艺,保证高效生产...

随着我国大部分地区河砂、湖砂禁采、限采,机制砂迎来发展好时机,各地新建生产线如火如荼。人工机制砂工艺大致经历了由锤式破碎机制砂、棒磨机制砂、立轴冲击式破碎机( 以下简称“立轴破”) 制砂等的单破碎段制砂工艺,到立轴破碎机与棒磨机联…

client中周期性边界_(整理)周期性边界条件.

精品文档精品文档2.3.4周期性流动与换热如果我们计算的流动或者热场有周期性重复,或者几何边界条件周期性重复,就形成了周期性流动。FLUENT可以模拟两类周期性流动问题。第一,无压降的周期性平板问题(循环边界);第二,有…

两个摄像头合成一路_教你把一个摄像机添加到两台录像机

如果项目中遇到把一台摄像机添加到两台录像机怎么办呢?今天我们就一起来总结一下这方面的知识。一、适应场景及原理介绍应用场景:共装了几台网络摄像机,想要实现多台录像机同时预览这几台摄像机图像的功能。比如,监控中心里的一台…

cadence自动生成铺铜_干货 | 国内铜湿法冶金工艺现状分析

更多、更及时的交易信息,干货内容,请关注易矿网来源 | 网络编辑 | 易矿资讯,转载请注明出处1.国内外铜湿法冶金技术发展现状自1968年以来,世界上已设计、建设并运转了约50家浸出—溶剂萃取—电积厂,其中美国有16家&…