获取节点
只要在组件方法里访问 this.node 变量
start: function () {
var node = this.node;
node.x = 100;
}
cc.Class({
extends: cc.Component,
properties: {
// 声明 player 属性
player: {
default: null,
type: cc.Node
}
}
});
-
查找子节点
- 有时候,游戏场景中会有很多个相同类型的对象,像是炮塔、敌人和特效,它们通常都有一个全局的脚本来统一管理。如果用 属性检查器 来一个一个将它们关联到这个脚本上,那工作就会很繁琐。为了更好地统一管理这些对象,我们可以把它们放到一个统一的父物体下,然后通过父物体来获得所有的子物体。
- 获得所有子节点:node.children
start: function() {
var children = this.node.children;
for (var i = 0; i < children.length; i++) {
var node = children[i];
}
}
- 获得指定名字子节点:getChildrenByName
this.node.getChildByName("Children1")
this.backNode = cc.find("Canvas/Menu/Back");
cc.find("Cannon 01/Barrel/SFX", this.node);
获取组件
- 在我们获取节点之后,就可以通过 getComponent 方法获取其组件。
- getComponent 方法传入一个组件名称,例如 cc.Label
- 也可以为 getComponent 传入一个类名。对用户定义的组件而言,类名就是脚本的文件名,并且区分大小写。例如 “SinRotate.js” 里声明的组件,类名就是 “SinRotate”。
start: function () { var label = this.getComponent(cc.Label)