Cocos2d-x中的核心类简介
来源:互联网 发布:js根据时间戳获取日期 编辑:程序博客网 时间:2024/05/29 15:28
首先介绍一下cocos2d-x中的框架结构,如图
其中:
导演:是整个游戏的领导者,游戏中的所有动作,动画,已经场景的跳转等,都需要经过导演的“同意”,所以在执行动作的时候一定要注意调用导演类。
场景:场景就是游戏中的每一个关卡,当我们设置的通关游戏,跳转到下一个关卡时,需要用到场景类。所以导演可以控制多个场景。
布景层:布景层也就是游戏的背景,因为每一个关卡都需要有不同的背景,而在一个关卡中也可以有多个背景(比如远近景的交替),所以场景也可以控制多个布景层。
节点:节点就是游戏中的人物,可以是npc也可以是主角等所有显示在屏幕上的元素,但要注意,节点本身并不承载任何显示在屏幕上的任何图片图形等内容,但是所有的这些元素都是继承自节点的,是节点的子类。所以也可以说,显示的元素就是节点。
下面主要介绍一下节点类
节点类(Node)继承自Ref,在xcode中按住command键点击节点,可以查看继承关系。
常用的布景层类(Layer)、场景类(Scene)、精灵类(Sprite)都属于节点类。
那么,节点类的主要功能有:
1.每一个节点类都可以设定坐标、设置动作(旋转、位移)
2.每一个节点都是以“锚点”为参考点。
3.每一个节点都有父节点,并且都可以通过addChild添加多个子节点。当父节点变换时,子节点也会随之变换。
4.每个节点都可以计划任务。
*锚点就是一个节点的中心点,节点会以这个点为参照物设置所处的位置。
下面通过代码介绍几个节点的功能:
1.设定节点坐标
auto sp1=Sprite::Create(‘图片的名称’);
sp1->setPosition(100,100);//设置sp1的位置在100,100处。
2.设置锚点
sp1->setAnchorPoint(Vec2(0.5,0.5));设置锚点在节点的中央
3.设置动作
sp1->setRotation(135);节点旋转135°。
4,节点的父子关系
sp1->addChild(sp2);设置sp2为sp1的子节点
5。节点的隐藏和显示
sp1->setOpacity(175);设置节点的透明度。
6.执行计划任务
将设计好的动作设置tag。
sp1->setTag(888);
通过获取tag,使节点的动作自动发生改变
Sprite * nows=(Sprite *)this->getChildByTag(888);
nows->setRotation->getRotation()+10);让旋转角度每次+10。
然后通过Schedule函数调用这个函数
sp2->schedule(schedule_selector(GameScene::gamelogic),1)一秒钟调用一次。
这样就可以使sp1每秒钟自动的旋转10°。
- Cocos2d-x中的核心类简介
- Cocos2D-x 中的核心类
- 【2】Cocos2D-x 中的核心类 总览
- Cocos2D-x中的核心类【1】
- Cocos2D-X 核心类
- (6)Cocos2D-x中的核心类(未写完)
- cocos2d-x的核心类
- cocos2d-x之核心类
- cocos2d-x核心类剖析-cocos2d-x内存管理机制
- cocos2d-x核心类剖析-cocos2d-x定时器机制
- cocos2d-x核心类剖析-CCDirector类
- cocos2d-x 2.0图像处理核心类
- cocos2D-x——核心类备忘
- [cocos2d-x] -- Cocos2d-x简介
- cocos2d-x中的导演类
- Cocos2d-x中的Vec类
- cocos2d-x中的精灵类
- Cocos2d-x简介
- 什么是启耘BOX?
- eclipse快捷键
- Apache修改web根目录
- poj1087 floyd+二分图最大匹配
- 拜拜了,浮动布局-基于display:inline-block的列表布局
- Cocos2d-x中的核心类简介
- 【C#】 3. Vector数据类型(包含运算符重写)
- python2 python3 部分区别
- iOS 指纹识别TouID 跳转页面问题
- 第18周项目1-动态链表体验(2查找结点)
- projspider.com-程序猿找私活神器
- jira 6.3.11和tomcat8不兼容
- Unity3D学习笔记之五为Prefab添加材质
- 共享内存原理