<8>Cocos Creator组件开发cc.Component
1.组件简介
组件是Cocos Creator的主要构成,渲染(场景显示内容)、逻辑、用户输入反馈、计时器等等几个方面都是由组件完成的。根据Cocos Creator的总体架构,组件和节点配合完成游戏所需内容。
所有组件都是代码脚本。一部分是Cocos Creator提供的,源码在Cocos Creator安装目录中;一些是用户自定义脚本,可在资源管理器中找到对应的脚本文件,组件需要添加到节点上才能执行。
Cocos Creator是组件式开发游戏,组件是完成某种功能的部件,例如假设一个人穿了防弹衣又拿了把枪,那么人相当于节点,防弹衣和枪相当于组件,防弹衣组件给人提供了不会被枪击射死的功能,而枪组件给人提供了可以射击敌人功能。如果把人(节点)去掉枪(组件)这个组件后,那么人就不具备了可以射击敌人的功能。
因此,组件直接作用在节点之上!
2.cc.Component
2.1 在Cocos Creator js引擎中有cc.Component这个组件,它为所有组件的基类。即所有的组件都扩展自cc.Component(类, 构造函数);
2.2 每一个cc.Component组件实例都有个成员node,指向它关联的节点cc.Node;
2.3 每一个cc.Component组件实例可以通过name属性获得节点的名称;
2.4 组件实例入口函数:
onLoad: 在组件加载的时候调用;
start: 组件第一次激活前, 调用在第一次update之前;
update(dt): 每次游戏刷新的时候调用,
lateUpdate(dt): 在update之后调用;
enabled:组件是否被启动;
onEnable: 组件被允许的时候调用;
onDisable: 组件不被允许的时候调用;
3.this和this.node区别
脚本代码中的
this:当组件加载运行的时候,代码函数里面的this指向这个组件的实例;
this.node:指的是组件所挂的节点(cc.Node);所以在代码组件里面,可以使用this.node来访问这个组件实例说挂载的节点对象;
4.cc.Component属性和方法
更详细内容可以参考官方API文档 https://docs.cocos.com/creator/api/zh/classes/Component.html
<8>Cocos Creator组件开发cc.Component的更多相关文章
- Cocos Creator 游戏开发
Cocos Creator 游戏开发 https://www.cocos.com/products#CocosCreator 一体化编辑器: 包含了一体化.可扩展的编辑器,简化了资源管理.游戏调试和预 ...
- Cocos Creator脚本开发事例
HelloWorld.js window.Global = { gint: 168, }; cc.Class({ extends: cc.Component, properties: { label: ...
- Cocos Creator 对象池cc.NodePool的使用
对象池cc.NodePool把层级管理器中的节点拖进资源管理器中就创建了预制体:let和var 一样,是声明变量的关键词, 同一个变量名时,var 即使在{}内也作用全局,let有范围:(1)将需要数 ...
- <4>Cocos Creator基本概念(场景树 节点 坐标 组件 )
1.场景树 Cocos Creator是由一个一个的游戏场景组成,场景是一个树形结构,场景由 有各种层级关系的节点(下一节有具有介绍)组成: 如创建一个HelloWorld的默认项目NewProjec ...
- Cocos Creator学习目录
目录 安装和启动 文件结构 编辑器基础 基本概念 (场景树 节点 坐标 组件 ) Cocos Creator 脚本简介 Cocos Creator调试 节点 cc.Node 组件开发cc.Compon ...
- Cocos Creator中按钮组件数组的使用
Cocos Creator游戏开发中经常使用到按钮,特别是大量按钮的情况,此时使用数组来管理这些按钮就显得更具通用性.我大致走了一下官方的示例,好像没有发现有这个小内容(或者有,但我却是没有找到),于 ...
- <5>Cocos Creator 脚本简介
1.创建脚本 在资源管理器窗口中点击鼠标右键,显示菜单中点击新建,选择新建的脚本类型,这里举例就选择菜单中的JavaScript,或者如下图点击创建按钮也可. 新建后就会在资源管理器中出现一个NewS ...
- Cocos Creator 通用框架设计 —— 资源管理
如果你想使用Cocos Creator制作一些规模稍大的游戏,那么资源管理是必须解决的问题,随着游戏的进行,你可能会发现游戏的内存占用只升不降,哪怕你当前只用到了极少的资源,并且有使用cc.loade ...
- Cocos Creator—如何给资源打MD5版本号
Cocos Creator 是Cocos最新一代的游戏开发者工具,基于 Cocos2d-x,组件化,脚本化,数据驱动,跨平台发布.Cocos Creator的开发思路已经逐步跟Unity 3D靠拢,写 ...
随机推荐
- DbGridEh 一个单元格的值改变时另一单元格的值随之改变
你可以为每个字段设置OnSetText事件,这样在输入完后回车会移动时就会触发,或者在adoquery的beforepost中或afterpost中都可以grid也提供了一些事件,也可以在某些条件下做 ...
- LeetCode 706 Design HashMap 解题报告
题目要求 Design a HashMap without using any built-in hash table libraries. To be specific, your design s ...
- 20165336 2017-2018-2《Java程序设计》课程总结
每周作业链接汇总 我期望的师生关系:对师生关系的看法 学习基础和C语言基础调查:关于学JAVA与C的调查 Linux安装及学习:Linux的安装 第一周学习总结:认识学习JAVA 第二周学习总结:JA ...
- Python文件操作---正斜杠与反斜杠
Python中的正斜杠与反斜杠 首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Wi ...
- python练习题-day3
1.有变量name="aleX leNb" 1)移除 name 变量对应的值两边的空格,并输出处理结果 print(name.strip()) 2)移除name变量左边的" ...
- 【JMeter】【接口测试】csv参数化,数据驱动,自动化测试
csv参数化,数据驱动 首先我们要有一个接口测试用例存放的地方,我们这里用EXCEL模板管理,里面包含用例编号.入参.优先级.请求方式.url等等. 1:新建一个txt文件,命名为sjqd,后缀名 ...
- webstorm 2017激活
选择“license server” 输入:http://idea.imsxm.com/
- centos7.2 mysql5.5编译安装
环境 centos7.2 源码包mysql5.5.38 mysql5.5开始,源码配置编译工具configure变成了cmake,所以先要去把cmake装上.并安装make,bison,cmake,g ...
- 001-dubbo基础-001-服务化最佳实践、异常处理逻辑
1.参看地址 http://dubbo.apache.org/zh-cn/ 2.服务化最佳实践 分包 建议将服务接口.服务模型.服务异常等均放在 API 包中,因为服务模型和异常也是 API 的一部分 ...
- DES、RC4、AES等加密算法优势及应用
[IT168 技术]1篇文章,1部小说被盗取,全靠维(si)权(bi)捍卫自己的原创权利.程序员捍卫自己珍贵的代码,全靠花式的加密算法.代码加密有多重要?程序员半年做出的产品,盗版者可能半天就能完全破 ...