【Creator】访问节点或者其他组件
2016-07-19 18:09
169 查看
获得组件所在的节点
获得组件所在的节点很简单,只要在组件方法里访问 this.node 变量start: function () { var node = this.node; node.x = 100; }
获得其它组件
需要获得同一个节点上的其它组件,这就要用到 getComponent,它会帮你查找你要的组件为 getComponent 传入一个类名。对用户定义的组件而言,类名就是脚本的文件名,并且区分大小写
var discreteness = this.getComponent("name");
获得其它节点及其组件
在属性检查器中设置你需要的对象。以节点为例,这只需要在脚本中声明一个 type 为 cc.Node 的属性:设置了名为player的接口,可以获取传入节点上的Node属性
cc.Class({ extends: cc.Component, properties: { // 声明 player 属性 player: { default: null, type: cc.Node } // 或者使用 player: cc.Node } });
查找子节点
获取node下所有子节点,获取到的节点类型为nodevar arr = node.getChildren()
使用getChildByName获取到node下的”name”子节点
node.getChildByName("name")
全局名字查找
当cc.find只传入第一个参数时,将从场景根节点开始逐级查找this.backNode = cc.find("Canvas/Menu/Back");
扩展
将GameEvent.monsterPos事件向上级节点抛出, true代表是否冒泡var event = new cc.Event.EventCustom(GameEvent.monsterPos, true)
设置需要抛出的东西
event.setUserData(this.node) var ob = cc.find('New Node')
cc.find查找一个层次结构的节点,该路径是区分大小写的。它将遍历层次结构,通过使用“/”字符的路径分裂。此功能将仍然返回节点,即使它是无效的
cc.find('New Node').dispatchEvent(event)
相关文章推荐
- 关于混合编程中SDK的问题
- (java)处理socket通信过程中粘包的情况
- 杭电ACM1012(备忘)
- 改变Bitmap的大小
- rxjava(二)Single与Subject
- android studio 预览问题 :java.lang.NoClassDefFoundError:com/android/util/PropertiesMap
- Android四大组件之ContentProvider使用方法
- C++ STL基本容器的使用
- angular项目如何分层
- sizeof(wchs)/sizeof(wchs[0])的结果?
- C#对list列表进行随机排序的方法
- Swift3的playground中对UI直接测试支持的改变
- Swift3的playground中对UI直接测试支持的改变
- Swift3的playground中对UI直接测试支持的改变
- RTMP协议
- 资料网站收集
- 一个好的下料车间管理系统需要做到什么?
- php 导出csv文件
- Java compiler level does not match the version of the installed Java project facet.
- 插件之广播管理