【学习笔记2 --- Cocos2D-x核心类 (1)节点类】
2013-12-16 17:40
260 查看
导演类(CCDirector)---- 制定游戏的运行规则,让场景、布景、人物精灵有序进行。
场景类(CCScene) ---- 是一个关卡
布景类(CCLayer) ---- 是关卡里的背景,不同的关卡(场景)需要不同的背景(布景),一个场景可有包含多个布景层。
人物精灵(CCSprite)---- 游戏中的角色,如玩家控制的、敌人、NPC。
1.节点类
节点类(CCNode)是场景、布景层、人物精灵的基类。
最常用的节点类包括 --- 场景类(CCScene)、布景层类(CCLayer)、人物精灵类(CCSprite)、菜单类(CCMenu)
一般使用节点类(CCNode)的场合有两个:
1)需要一个父节点来管理一批子节点
2)自定义一个在屏幕上显示的对象,让新定义的这个类继承自CCNode
V2.0版本之后,使用create函数进行创建。
1.1 坐标系
屏幕坐标系中,原点在屏幕左上角,x轴向右,y轴向下。
世界坐标系与OpenGL坐标系方向一致。
CCNode类设置位置使用的坐标系方向和OpenGL方向一致。
1.2 仿身变换
指在线性变换的基础上加上平移,比如游戏中使用的旋转、缩放、平移都是仿射变换。
2.实验--通过节点来控制屏幕中的对象
新建一个HelloWorld项目,编译一下,
在windows平台中文件的执行顺序是main入口-----AppDelegate入口----HelloWorldScene场景,
打开HelloWorldScene.cpp文件,在init中做如下两个实验:
实验1:
// add your codes below... 在这个注释下面添加和修改代码
// Step1:将新创建的节点当作子节点加入到HelloWorld场景类中
//创建一个节点
CCNode *anode = CCNode::create();
//将节点作为子节点加入场景类中
this->addChild(anode,0);
// Step2:将原本作为子节点的加入HelloWorld场景中的对象,使用addChild函数作为子节点添加到anode中
//this->addChild(pMenu, 1);
anode->addChild(pMenu,1);
//this->addChild(pLabel, 1);
anode->addChild(pLabel,1);
//this->addChild(pSprite, 0);
anode->addChild(pSprite,0);
// Step3:运行项目,发现和修改前没有区别。
实验2 设置节点的位置
在 bRet = true;的前面,加上一句
anode->setPosition(ccp(100,50));
再编译运行一下:
实验3 设置缩放
anode->setScale(0.8);
实验4 整体旋转
在main.cpp中可以看到,当前我这个窗口大小是480 * 320 (eglView->setFrameSize(480, 320);),将锚点移动一下,移到左上角(x=0, y=max)
anode->setPosition(ccp(0,320));
anode->setRotation(90);
效果如下
相关文章推荐
- cocos2d-x学习笔记1——Cocos2D-x 中的核心类
- Cocos2d-x学习笔记(五)之 节点类CCNode
- 【Cocos2d-X开发学习笔记】第02期:渲染框架之节点类(CCNode)的使用
- 【Cocos2d-X开发学习笔记】第02期:渲染框架之节点类(CCNode)的使用 [
- 【Cocos2d-X开发学习笔记】第02期:渲染框架之节点类(CCNode)的使用
- Cocos2d-x学习笔记(十)scheduler及Cocos2dx的回调
- 我的Cocos2d-x学习笔记(二十二)CCTextFieldTTF (文字输入)、CCTextFieldDelegate(输入通知事件)
- 五毛的cocos2d-x学习笔记02-基本项目源码分析
- [学习笔记]Hadoop核心之初始HDFS
- cocos2d-x学习笔记——各种遍历与范围for语句的使用
- 逆向工程核心原理学习笔记(十一):栈
- 【Cocos2d-X开发学习笔记】第03期:渲染框架之导演类(CCDirector)的使用
- cocos2d-x入门学习笔记,主要介绍cocos2d-x的基本结构,并且介绍引擎自带的示例
- Cocos2d-x学习笔记(十二)-------->x引擎的数据保存
- Cocos2d-x学习笔记(九)实例——场景自动切换
- JSTL标签库学习笔记 五、核心标签库的URL操作标签
- Windows Media Foundation学习笔记1——MF核心概念
- 【Cocos2d-X开发学习笔记】第03期:渲染框架之导演类(CCDirector)的使用
- MVC学习笔记2 认识项目的目录结构与核心的DLL
- Mybatis学习笔记-核心配置文件概述