cc.node场景树
cc.node场景树
- 概述
- 常用属性
- cc.Component
- 代码组件
- cc Node场景树相关方法
概述
- creator是由一个一个的游戏场景组成,通过代码逻辑来控制场景跳转;
- creator场景是一个树形结构, 父节点下多个孩子节点
- cc.Node就是场景树中的节点对象。
- 每个节点只要在场景里面,所以任何一个节点都有一个 cc.Node
常用属性
- name:获取节点的名字(属性框最上面的框)
- active设置节点的可见性;(name属性旁边的小勾)
- position:相对坐标; 相对父节点的坐标,移动父节点,子节点会同样移动。
- rotation:旋转 :这里的顺时针为正,但是数学中逆时针为正,使用三角函数时要注意
- scale:缩放;,例如:x从1->2,x方向拉伸两倍
- anchor:锚点 左下角(0,0)右上角(1,1),可以超过这个范围可以为负
eg:
锚点为(0,0)
锚点为(1,1)
)
- Size:大小,能够响应事件,实现动态效果
- Color:环境颜色,背景色
- opacty:透明度;255为最大值完全不透明,小于该数有透明效果
- skew:扭曲;
x设置50
y设置50
两个都为50
- Group:分组;在项目设置中增加新的分组
- parent:父亲节点的 cc Node
- children/ children count:孩子节点的数组
- tag:节点标签
cc.Component
- 所有的组件都扩展自 cC Component((类,构造函数
- 每个 cc Component组件实例都有个成员node,指向它关联节点的 cC Node;
- name:每一个 cc Component组件通过name属性可以获得节点的名字;
- 组件实例入口函数
onload:在组件加载的时候调用
start:组件第一次激活前,调用在第一次 update之前;
update(dt):每次游戏刷新的时候调用
lateUpdate(dt):在 update之后调用;
enabled:组件是否被启动
onEnable:组件被允许的时候调用;
onDisable:组件不被允许的时候调用
代码组件
- 每个代码组件实例都继承自 cc.Component(构造函数)所以有一个node数据成员指向 cc.Node;
- cc. Class{(…)}定义导出了一个新的类的构造函数,它继承自 cc.Component,也就是说每一个js文件实际为一个类;
- 当为每个节点添加组件的时候会例化(new)这个组件类,生成一个组件实例(js语法new)
给组件添加helloWorld的脚本console.log(this)
- 当组件加载运行的时候,代码函数里面的this指向这个组件的实例
同样的JS组件添加到不同的组件上创建的实例不同
- 代码组件在挂载的时候扩展自 cc.Component,里面有个成员node会指向节点( cc.Node);所以在代码组件里面,可以使用this.node来访问这个组件实例说挂载的节点对象,this.node.name等可以访问挂载节点的属性。
- 代码里访问 cc.Node总要属性;
cc.Class({extends: cc.Component,properties: {label: {default: null,type: cc.Label},// defaults, set visually when attaching this script to the Canvastext: 'Hello, World!'},// use this for initializationonLoad: function () {this.label.string = this.text;console.log(this);console.log(this.node);console.log(this.node.name);},// called every frameupdate: function (dt) {},
});
cc Node场景树相关方法
- 代码中创建一个节点 new cc.Node()
- addchild加一个子节点
- removeFromParent/ removeAlIChildren
- setLocalZOrder()层级关系设置,默认Zoder为0,值越大,显示的层级越高(图片重叠时显示在上方)
- 遍历节点的子节点
- setPosition/getPosition
- getChildByName/getChildByTag, getChildBylndex局部查找
- 全局查找:cc.find("") 不通用,尽量不用
cc.node场景树相关推荐
- CocosCreator新手教程——cc.Node基础常用接口(API)
CocosCreator开发笔记--cc.Node基础常用接口(API) 一.常用属性 cc.Class({extends: cc.Component,properties: {sprite: {de ...
- Webots下关于Scene Tree(场景树)和首选项的介绍
场景树(Scene Tree) 要访问"场景树窗口",可以在Tools菜单中选择Scene Tree, 也可以按主工具栏中的Show the Scene Tree side bar ...
- osgEarth的Rex引擎原理分析(一二四)osgEarth着色器文件与场景树节点的对应关系
目标:(一二三)中问题210 场景树 rex | terrain-------------------------------------------------------------------- ...
- Cocos Creator用cc.loader加载预制体资源和删除预制体资源
对于小游戏来说,单个场景的页面可以事先写好然后用active的方式来开关. 但是这会导致一个严重的问题就是每次载入这个场景的时候就会很卡,而如果是让场景绑定预制体资源的时候这个场景同时也会加载对应的预 ...
- 你知道什么是AVL树吗?
AVL树是自平衡二叉查找树,也叫平衡二叉树 在AVL树中任何节点的两个子树的高度最大差别为1 为什么都用红黑树不用AVL树? 1. 如果插入一个node引起了树的不平衡, AVL和RB-Tree都是最 ...
- 8Cocos Creator组件开发cc.Component
1.组件简介 组件是Cocos Creator的主要构成,渲染(场景显示内容).逻辑.用户输入反馈.计时器等等几个方面都是由组件完成的.根据Cocos Creator的总体架构,组件和节点配合完成游戏 ...
- creator 跳跃弧线_(转)CocosCreator零基础制作游戏《极限跳跃》四、添加游戏主场景控制脚本...
CocosCreator零基础制作游戏<极限跳跃>四.添加游戏主场景控制脚本 前面简单的实现了主界面的UI设置,现在我们开始制作游戏的控制脚本. 在资源管理器的Script文件夹中,点击右 ...
- creator 静态属性_CocosCreator cc.class声明类
定义类 var Sprite = cc.Class({ name: "sprite" }); var obj = new Sprite(); 定义的类的类型名为 Sprite 可以 ...
- JS 数据结构之旅 :通过JS实现栈、队列、二叉树、二分搜索树、AVL树、Trie树、并查集树、堆
JS 数据结构之旅 栈 概念 栈是一个线性结构,在计算机中是一个相当常见的数据结构. 栈的特点是只能在某一端添加或删除数据,遵循先进后出的原则 实现 每种数据结构都可以用很多种方式来实现,其实可以把栈 ...
最新文章
- android设置tls版本,Android O移除HttpsURLConnection中不安全的TLS版本回退
- Verilog设计实例(4)详解全类别加法器(一)
- Golang 匿名结构体及测试代码编写技巧
- linux 如何创建内核进程,Linux内核的进程创建和执行.pdf
- 使用Java操作文本文件的方法详解
- 50款大数据分析神器 :你还在用Excel
- ckeditor:复制内容到ckeditor时,只保留文本,忽略其样式解决方法
- 第二章-信源与信息熵(一)
- Python每日一练(7)-图片转字符画
- python——获取矩形四个角点的坐标
- 4227. 【五校联考3day2】B (Standard IO)
- quirks mode(怪异模式) 和 standard mode(标准模式)
- Dell PowerEdge R740xd解析:服务器只看参数那就错了
- 【python】turtle绘图几个超好看的颜色
- 二维码如何转为链接,看了这篇文章才知道多好用!
- 玩转阿里云之ack 部署高可靠ingress Controller
- JS获取当前页面 URL 参数方法(转)
- 使用 CDN 或直接引入的方式,更换网站中文字体
- ENVI教程:InSAR技术,自适应滤波及相干性
- Ardusub源码解析学习(三)——车辆类型