cc.Component和Unity的MonoBehaviour类似
1: 组件类: 所有组件的基类;
2: node: 指向这个组件实例所挂载的这个节点(cc.Node);
3: name: 这个组件实例所挂载的节点的名字<组件的名字>;
4: properties: {
} 属性列表;
(1) name: value, 数,bool, 字符串;
(2) 位置,颜色, 大小: cc.p(0, 0), cc.color(0, 0), cc.size(100, 100)
(3) 组件: {
type: 组件类型, 系统类型,也可以require自己编写的组件类型
default: null or []
}
(4)其他: 打开cocos creator源码,找到参考,然后移动到你的代码里面;
const {ccclass, property} = cc._decorator;
//引入其他的脚本
import ActionDemo1 from "./ActionDemo1"
@ccclass
export default class NewClass extends cc.Component {
//属性
@property()
username:string = null;
//系统属性括号中要加类型
@property(cc.color)
myColor = null;
onLoad ()
{
//获取挂载脚本节点
console.log(this.node);
//获取挂载脚本的节点的名字
console.log(this.name,this.node.name);
this.username = "3333";
console.log(this.username);
this.myColor = cc.color(0,0,0,255);
console.log(this.myColor);
}
}
组件操作
onLoad ()
{
//挂在组件
//var com = this.node.addComponent(ActionDemo1);
var com = this.node.addComponent("ActionDemo1");
//获取组件
var com1 = this.getComponent(ActionDemo1);
console.log(com1.node.name);
//获取组件数组
var comArray = this.getComponents(ActionDemo1);
//销毁com组件 会触发onDestroy 方法
com.destroy();
//销毁当前组件实例
this.destroy();
}
定时器
onLoad ()
{
//启动定时器 如果隐藏节点 是无法启动定时器的 该函数只执行一次
this.scheduleOnce(()=>{
console.log("schedule called");
},5);
//3秒之后打印"hello world" 每隔一秒打印一次 执行的次数是重复的次数加1
//此定时器执行6次
this.schedule(()=>{
console.log("Hello world");
},1,5,3);
// 永远执行的定时器
//3秒后执行 间隔1 秒 永远执行
this.schedule(this.callBack,1,cc.macro.REPEAT_FOREVER,3);
this.unschedule(this.callBack);
}
callBack()
{
console.log("1 2 3");
}
网友评论