cocos-creator核心概念(笔记)

cocos creator核心概念

对比学习

cocos2dx的核心概念

导演、场景、层、精灵、节点

比喻:个人思想,人,组织,细胞,元素

导演:管理游戏和场景对象,采用单例模式

场景:构成游戏界面,每次只能显示一个场景,一个场景由多个层组成,一个层由多个节点(sprite、label、button)组成。

层:构成游戏场景,是写游戏的重点

精灵:带图片显示的节点,继承节点和图片原型

节点:cocos2dx的最小组成元素,最小渲染单元

cocosCreator的核心概念

节点和组件(所有需要渲染的东西都继承自节点)

节点是本体,组件就是修饰体。组件可以添加和移出多个,但有的组件不能同时存在,方便操作。

总结:由导演控制,由多个场景组成,同时只能显示一个场景,多个节点组成场景。不区分层和精灵。一个节点由组件(0或0个以上)修饰。

场景的设计分辨率在层级管理器中,点击Canvas查看属性,其中Design Resolution就是显示分辨率。Fit Height是高填充,Fit Width是宽填充。

三种适配方式:宽度适配、高度适配、智能适配(选择最好的方式(宽或高)进行适配,会出现黑边)、填充整个代码(需要自己写代码)//前三种方式可以通过修改Fit Height和Fit Width两个属性来实现

节点

可以修改Color修改节点图片的颜色。

Group属性管理分组

position、rotation、scale、anchor、size、poacity、color、skew、group属性

常用方法:

//获取子节点
this.node.children[0];
this.node.getChildByName("");
cc.find("节点路径")
//获取父节点
this.node.getParent();
//设置父节点
this.node.setParent(节点名);
//移除所有的子节点
this.node.removeAllChildren();
//移除某个自己诶单
this.node.removeChild(节点名);
//从父节点中移除
this.node.removeFromParent();

//节点开关
this.node.active = false;

//(本脚本)组件开关
this.enabled = false;

//获取组件
this.getComponent(组件类型)
//获取所有组件
this.getComponents(组件类型)
//获取子节点的组件
this.getComponentInChildren(组件类型)

精灵

组件中的内容

atlas//图集属性,就是多个小图片合成一个大图片,节省资源。

xx.plist文件就是存放切割大图的信息

type//渲染模式,5种方式

size mode//节点尺寸信息

sprite frame//图片信息

预制体

提前生成一个节点的模板,方便之后的使用。生成方法:将模板直接拖到资源管理其中,就会自动生成一个图标为小盒子的文件。在层级管理器中字体会变成蓝色。

代码中生成预制体:

@property(cc.Prefab)
pre:cc.Prefab = null;//记得将预制体读出来

//实例化预制体
let n = cc.instantiate(pre);
//设置预制体的父节点,只有设置了父节点才会进行显示
n.setParent(this.node);

场景的操作

//切换至场景,并且在切换成功后调用回调函数,其中回调函数为可选参数
cc.director.loadScene("场景名",function(){
    //....
});
//预加载场景,只是加载并不进行切换
cc.director.preloadScene("场景名",function(){
    //....
});
//添加常驻根节点,切换场景仍然存在,其中该节点必须在层级管理器中为根节点,否则无效
cc.game.addPersistRootNode(节点名);
//删除常驻根节点
cc.game.removePersistRootNode(节点名);
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值