序
对于引擎而言,它使用的是一个一个的“功能组件”,那个组件能完成什么样的功能,就把它这个组件实例化,实例化后,加到节点上(角色),帮助角色完成对应的功能; (1)节点:组件实例的载体(人) (2)组件类:衣服 (3)组件实例:一件衣服 (4)组件实例化:添加组件到节点上 pt:每一个节点:节点+节点属性 组件实例 + 实例的属性 添加到组件的按钮; 系统为我们分类好了各种可用的组件类:–>系统开发好的; 根据类型 -->new组件类的实例 -->节点上;
Step1:
新建一个组件类,–>编辑器 -->组件类 -->识别到 -->用户脚本分类; 自动生成得一个 继承自cc.Component的类,自动找到它;
Step2:
new组件类的实例 -->节点上; (1)直观方式:“添加到组件” 按钮 -->“添加到组件实例到节点”; (2)代码:addComponent来添加我们的组件实例到节点上; 好处:我们的组件类开发完成以后,所有的节点都可以使用;
Step3:
节点上有了这些组件实例了,引擎运行的时候,会固定时期调用函数入口,有了这些入口,你就可以插入你的代码了; 固定时期 固定入口 开始运行之前: 引擎会调用组件实例.start; -->表.函数里面this指向表 游戏每次刷新: 引擎会调用组件实例.update(dt); dt:非常重要,当前update距离上次update过去的时间间隔
问题1:
引擎怎么找到组件实例:装载场景 -->节点 -->组件实例;
问题2:
什么叫每次刷新 游戏引擎,每隔一段时间刷新一下画面,时间间隔非常短 |------|------|—dt—| dt:动画的所有的基准,100速度移动,从上一次update -->更新多少,100*dt console.log:打印,可以输出任何变量的值和数据 浏览器看打印,F2,chrome/firefox; this.当前组件实例 this.node:当前组件实例所在节点;
Step4:
组件实例,可以定义属性绑定到编辑器–>可视化的修改组件实例的属性; 简单的数据绑定:名字:值 复杂的数据类型:名字:{type:cc.Node,default:null} cc:所有cocos的对象类的开头 如果_开头的属性,不会绑定到编辑器,但是,还是可以做为属性来访问到。
|