cocosSteator整理
2016-07-18 19:11
363 查看
事件处理是在节点(cc.Node)中完成的。对于组件,可以通过访问节点 this.node 来注册和监听事件。监听事件可以 通过 this.node.on() 函数来注册,方法如下:
cc.Class({
extends: cc.Component,
properties: {
},
onLoad: function () {
this.node.on('mousedown', function ( event ) {
console.log('Hello!');
});
},
});
获得组件所在的节点很简单,只要在组件方法里访问 this.node 变量:
start: function () {
var node = this.node;
node.x = 100;
}
获得同一个节点上的其它组件,这就要用到 getComponent 这个 API,它会帮你查找你要的组件。
start: function () {
var label = this.getComponent(cc.Label);
var text = this.name + ' started';
// Change the text in Label Component
label.string = text;
}
查找子节点
有时候,游戏场景中会有很多个相同类型的对象,像是炮塔、敌人和特效,它们通常都有一个全局的脚本来统一管理。如果用 属性检查器 来一个一个将它们关联到这个脚本上,那工作就会很繁琐。为了更好地统一管理这些对象,我们可以把它们放到一个统一的父物体下,然后通过父物体来获得所有的子物体:
// CannonManager.js
cc.Class({
extends: cc.Component,
start: function () {
this.cannons = [];
this.cannons = this.node.getChildren();
}
});
这里的 getChildren 是 cc.Node 原有的一个 API,可以获得一个包含所有子节点的数组。
还可以使用 getChildByName:
this.node.getChildByName("Cannon 01");
如果子节点的层次较深,还可以使用 cc.find,cc.find 将根据传入的路径进行逐级查找:
cc.find("Cannon 01/Barrel/SFX", this.node);
cc.Class({
extends: cc.Component,
properties: {
},
onLoad: function () {
this.node.on('mousedown', function ( event ) {
console.log('Hello!');
});
},
});
获得组件所在的节点很简单,只要在组件方法里访问 this.node 变量:
start: function () {
var node = this.node;
node.x = 100;
}
获得同一个节点上的其它组件,这就要用到 getComponent 这个 API,它会帮你查找你要的组件。
start: function () {
var label = this.getComponent(cc.Label);
var text = this.name + ' started';
// Change the text in Label Component
label.string = text;
}
查找子节点
有时候,游戏场景中会有很多个相同类型的对象,像是炮塔、敌人和特效,它们通常都有一个全局的脚本来统一管理。如果用 属性检查器 来一个一个将它们关联到这个脚本上,那工作就会很繁琐。为了更好地统一管理这些对象,我们可以把它们放到一个统一的父物体下,然后通过父物体来获得所有的子物体:
// CannonManager.js
cc.Class({
extends: cc.Component,
start: function () {
this.cannons = [];
this.cannons = this.node.getChildren();
}
});
这里的 getChildren 是 cc.Node 原有的一个 API,可以获得一个包含所有子节点的数组。
还可以使用 getChildByName:
this.node.getChildByName("Cannon 01");
如果子节点的层次较深,还可以使用 cc.find,cc.find 将根据传入的路径进行逐级查找:
cc.find("Cannon 01/Barrel/SFX", this.node);
相关文章推荐
- cocosCreator注意点(暂时)
- cocos creator RPG游戏的背景和节点添加
- cocos creator 节点和组件的访问
- cocos creator的事件处理.
- cocos Creat 添加场景
- cocosapods pod install 报错
- <转>Cocos2d-x下Lua调用自定义C++类和函数的最佳实践
- cocos2dx 解决texture packer导出的图片程序中拼接有黑边的问题
- Cocos 2.2.1 + cocos2d-x 3.5 集成protobuf
- CocoStudio制作多分辨率UI布局
- cocos2d-x 屏幕适配新解
- CocosCreator
- cocos2D-x-新知识
- cocos2dx为提升引擎性能所做的几件事情
- 分析cocos2dx 3.3运行流程
- Qiuck_Cocos实战(一)
- COCOS按钮优先级处理。cocos studio 的widget 和cocos组件 的问题
- 各个平台支持的Cocos2d-x最大纹理尺寸
- cocos2d-x 纯代码创建透明格子精灵
- Cocos2dx-3.x触摸事件之实现人机交互(二)