cc.Node.场景树
admin
2023-02-11 15:20:07
0

场景树

1creator是由一个一个的游戏场景组成,通过代码逻辑来控制场景跳转.

2creator场景是一个树形结构

3父节点,子接地那 canvas可以当做根点击,然后再场景里添加精灵 UI等等节点

4cc.Node是整个场景数中的节点对象.

5每个节点只要是场景里面的, 任何一个节点都有一个cc.Node




cc.Node属性

1 name:获取节点的名字

2 active:设置节点的可见性

3 position:相对坐标,相对应父节点的位置.

4 rotation:选中,数学是逆时针为正,creator是顺时针为正

假如要按照数学旋转90度,creator要旋转270度,也就是360减去90度

5 scale:缩放

6 anchor:锚点左下角(0,0)右上角(1,1)锚点可以超过这个范围

7 Size:大小,响应触摸和这个大小有关系

8 坐标系:以左下角为坐标原点(0,0) 垂直线为x,竖直线为y.

9 Color:环境的颜色,比如鼠标滑到上面 可以让他变灰等

10 Opacity:透明度

11 Skew:扭曲 

12 Group:分组 碰撞检测, 比如飞机大战,敌人×××,飞机

13 parent:父节点的cc.Node

14 children/childrenCount:孩子节点数的数组

14 tag节点的标签





cc.Component 组件

1所有的组件都扩展自cc.Component 

2每个cc.Component组件实例都有个node成员,指向他关联节点的cc.node

3name每一个cc.Component通过name属性可以获得节点的名字;

4组件实例入口函数:


onLoad:组件加载的时候调用;

start:组件第一次激活时调用,并且是在第一次update之前

update(dt):每次游戏刷新的时候调用;


不常用的

lateUpdate(dt):在update之后调用

enabled:组件是否被启动

onEnable:组件被允许的时候调用     就是被激活的时候

onDisable:组件不被允许的时候调用






代码组件

1每个代码组件实例都继承自cc.Component(构造函数),

所以有一个node数据成员指向cc.node

2cc.Class({...})定义到处了一个新的类的构造函数,

Class类似一个接口, 他的参数是一个表,首先他内部会创建一个函数对象作为返回值

然后 判断你有没有extend这个key,如果有那么他就会先继承这个key,表示父类,

并且先执行父类的构造函数, 然后遍历所有不是extend的参数把他们作为key加入进来

3当为每个节点添加组件的时候,会实例化(new)这个组件类,生成组件实例.

4当组件加载运行的时候,代码函数里面的this指向这个组件的实例.

5代码组件在挂载的时候扩展自(cc.Component)里面有个成员指向节点

所以在代码组件里面,可以使用this.node来访问这个组件实例挂载的节点对象

6通过this.node 就是指向他挂载的节点.

7通过节点可以使用他的属性方法.

8this就是当前的组件的实例.

9节点可以挂载很多个组件.

10根节点 其实就是场景一个Canvas的父节点就是场景


11遍历子节点

每个数组元素就是一个cc.Node

        //返回的是数组
        var childer = this.node.children;
        //遍历数组
        for(var i = 0;i < childer.length;i++){
            console.log(childer[i].name);
        }


场景数相关方法

1 代码中创建一个节点 new cc.Node()

var new_node = new cc.Node()


2 addChild 添加一个子节点到场景数

this.node.addChild(new_node)


3 removeFromParent 节点从父节点删除,

new_node.removeFromParent()


4 removeAllChildren删除所有的节点

this.node.removeAllChildren();


5查找子节点 getChildByName/getChildByTag/getChildByIndex

局部查找 

如果有同名的 那就先返回先找到的

var item = this.node.getChildByName(节点名)



全局查找 我希望找这个节点的时候全局来搜索,消耗时间

他的原理就是从根节点开始查找.

var item = cc.find("Canvas/parent/item1")



6 setPosition设置坐标 

 getPosition()获取坐标相对位置




7层叠关系

在crator里面 谁在左边数型里面越靠下,

cc.Node.场景树

cc.Node.场景树

那么他绘制顺序越靠前,覆盖下面的图像 


他就是ZOrder 默认ZOrder是0

如果想让他更靠前  可以通过setLoaclZOrder来设置


先获取这个节点 然后这只ZOrder 数值越大 越靠前

   var a2= this.node.getChildByName("a2");

      a2.setLocalZOrder(1);

cc.Node.场景树



相关内容

热门资讯

上海AI产业交答卷:以生态之力... 上海人工智能产业交答卷:真实产线上淬炼硬核能力 聚合产业推进中国算力体系化 以生态之力,加速AI拐点...
“郑州造”光伏清洁机器人即将交... 7月22日,郑州航空港经济综合实验区坤达产业园内,两台C1光伏清洁机器人正在进行交付前的最后测试。作...
腾讯整合Workbuddy与Q... 快科技7月21日消息 ,据媒体报道,腾讯近日发布内部组织调整通知,将 QClaw产品中心全部相关业务...
TVB正式更名,宣布由传统电视... 7月24日,@TVB官方微博发文官宣TVB更名“无线集团”,TVB表示,由传统电视台升级为跨媒体娱乐...
2026WAIC观察丨白辰甲:... 图片来源/新华社 ■中国经济时报记者 张一鸣 王彩娜 在人工智能浪潮下,具身智能的演变之路也在加速。...
澳大利亚工党大会上,中方官员愤... 据澳大利亚广播公司(ABC)7月23日报道,中国外交官因不满台湾地区代表出席澳大利亚工党(ALP)在...
裸体在家犯法还是拍别人裸照犯法... 近日,#男子在家裸体被邻居拍照发群#一事引发热议。据报道,某小区一名男业主在家中未穿衣物,对面女业主...
“每天跟遛狗一样”,万亿资金,... 进入7月,市场波动加大,A股关于量化交易的争议再次达到顶峰。由于散户与量化机构之间的“体感温差”显著...
特朗普:对伊朗战争进展顺利 当地时间7月23日,美国总统特朗普再次称,“美国在对抗伊朗方面进展很顺利,表现得极其出色,好得超乎任...
国务院成立广西六蓝水库溃坝灾害... 7月6日,广西南宁横州市六蓝水库发生溃坝,造成重大人员伤亡。根据国家有关法律法规规定,国务院成立调查...