一、节点与组件
节点:Node
组件:Component ,表示一个功能 .
比如:Sprite 组件,用于显示一个图片。
Label 组件,用于显示一个文本。
添加 Sprite组件指定 Sprite Frame ,此时该节点显示一个图片。
删除 Sprite组件,添加 Label 组件 此时,该节点显示一个文本。
节点本身没有类型,真正起作用的是组件
图片节点 = Node + Sprite
一个节点可以挂载多个组件,不过,渲染类组件只能挂一个,不能同时挂Sprite和Label
二、脚本的调试
用谷歌浏览器调试,注意把鼠标到画面外,使用开发者工具(F12)
三.浏览器运行界面:
选择手机尺寸
横屏 / 竖屏
日志输出级别
显示帧率 FPS
Recompile : 重新编译 ,当脚本修改变化后,点 Recompile按钮,重新加载。
四、编辑代码
const {ccclass, property} = cc._decorator;
@ccclassexport default class Script extends cc.Component
{
@property(cc.Label)
label: cc.Label = null;
@property
text: string = 'hello';
onLoad () {
cc.log("组件 Script 被加载");
}
start () {
}
update (dt) {
}
}
Ts代码注意事项
1、导入ccc的装饰器: const {ccclass, property} = cc._decorator
2、@ccclass 使用装饰器声明为组件类, 不然这个类不会被编辑器识别;
3、Ts定义一个类: export default class
4、Ts 类的继承: extends 关键字;
5、定义TS 类的数据成员: 变量名字: 类型 = 默认值;
6、将组件类的简单数据成员绑定到编辑器: @property
boolean, number, string,
7、组件类绑定creator 类型到属性 @property(cc.Label)
8、声明一个数组: @ property([cc.Node])
9、onload, start, update, 是组件类的标准接口,调用时期和JS是一样的;
10、 定义一个函数 参数, 返回值; 可加类型,可不加类型, 没有返回值的可以写void
test_func(v: number) : number { 函数体 }
11、js 的表,和数组,可以直接使用; array1:Array<number>; array2:number[];
12、for循环等,可以沿用JS写法也可以用TS写法;
13、 权限修饰: public, private, protected
14:、导入其它的类: import 类名 from “路径”