一个游戏场景有若干个节点组成,这些包括渲染节点,UI节点。 这里弱化了Layer层的概念。
一个游戏由若干个场景组件。
每个节点由若干个组件和若干子节点组成。
例如UI节点中的 按钮节点。子节点有一张背景图片Background节点[由 Node节点,Sprite组件,widget组件组成]。
Background节点有一个Lable节点【Node节点,Lable组件】组成。
所有的层级节点都继承Node节点。 所以新建出来的节点在属性检查里有一个Node.
组件里可以获取层级节点。 componentObj.node 的方式。
节点里可以获取组件。 node.getComponent(组件类型或者组件名) 的方式.
节点里可以动态添加组件。 node.addComponent(组件类型或者组件名) 的方式.
一个节点不能添加相同类型或继承自同一类型的组件。 如cc.Sprite组件和cc.Label组件,这两个不能共存。只能以子节点的方式存在组合存在。
一个节点可以添加多个脚本组件。
脚本组件的组件名是文件名。不含文件后缀 .js
节点里可以动态添加节点。 node.addChild(node) 的方式.
脚本组件可以控制节点的各种动作,渲染等等。
再预制体:
预制体其实就是一个预先设计好的节点模版。 预制体也可以绑定脚本组件。
通过cc.instantiate(prefab) 的方式 实例化节点。