Cocos2d-x入门之常用类介绍

cocos2d-x作为一个跨现在几个主流平台的游戏引擎,受到了很多开发者的喜爱,初步接触该引擎,对该引擎的基础知识做个简单的了解和学习,本文主要介绍了一些该引擎的常用类。

1.   CCNode(节点类)

       CCNode是Cocos2D-x 中的主要类, 继承自CCObject。

任何需要在屏幕上显示得都是节点类,最常用的节点类包括:

场景类(CCScene)、布景层类(CCLayer)、人物精灵类(CCSprite)、菜单类(CCMenu)。

 

El:

bool HelloWorld::init()

{

if ( !CCLayer::init() )

{

return false;

}

// 创建一个节点

CCNode *anode =CCNode::create();

// 将节点作为子节点加入场景类中

this->addChild(anode,0);

 

 

2.CCDirector (导演类)

CCDirector 类是整个游戏的管理者,包括管理游戏的开始和结束等。

El:

bool AppDelegate::applicationDidFinishLaunching(){

// 获得导演类

CCDirector *pDirector = CCDirector::sharedDirector();

// 设置OpenGL视图

pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView());

// 设置是否显示每帧时间

pDirector->setDisplayStats(true);

// 设置每帧时间

pDirector->setAnimationInterval(1.0 / 60);

// 创建场景

CCScene *pScene = HelloWorld::scene();

// 运行场景

pDirector->runWithScene(pScene);

return true;

}

代码清单3-7 游戏进入后台或者从后台返回时导演类的工作

voidAppDelegate::applicationDidEnterBackground() {

CCDirector::sharedDirector()->stopAnimation();

}

voidAppDelegate::applicationWillEnterForeground() {

CCDirector::sharedDirector()->startAnimation();

}

3.场景类(CCScene

CCScene 类是CCNode 的子类, 和CCNode 相比,它只是添加了一个特性,那就是拥有自的锚点,位置在屏幕的正中央。除此之外,它目前还没有额外的功能,只是一个抽象的概念.

 

El:

CCScene* HelloWorld::scene()

{

// 新建场景类实例

CCScene *scene = CCScene::create();

//CCScene *scene = CCScene::node();

// 定义布景层

HelloWorld *layer = HelloWorld::create();

// 将布景层加入场景

scene->addChild(layer);

// 返回场景类

return scene;

}

4.布景层类(CCLayer)

布景层类CCLayer 是CCNode 类的子类, 并且在此基础上实现触屏事件代理

TouchEventsDelegate)协议,可以实现CCNode 类的功能,并且可以处理输入,包括触屏和

加速度传感器。

El:

CCScene* HelloWorld::scene()

{

// 新建场景类实例

CCScene *scene = CCScene::create();

// 定义布景层

HelloWorld *layer = HelloWorld::create();

// 将布景层加入场景

scene->addChild(layer);

return false;

}

5.菜单类(CCMenu)

CCMenu 是一个菜单项的容器,用来装载各种菜单项

6.控件类及其子类:

  (1). 拖动滑块的控件类CCControlSlider

(2)颜色选择盘类CCControlColourPicker

3)开关按钮类CCControlSwitch

4)按钮类CCControlButton

7.精灵类(CCSprite)

  精灵类用一张图或图片的一个矩形表示,主要表示游戏中的人物。

8.贴图类CCTexture2D

  贴图累就是图片对象的意思,可以通过它创建精灵对象等。

9.精灵批处理类CCSpriteBatchNode

10. 精灵帧类CCSpriteFrame

       精灵帧的概念是相对于动画而产生的。一个精灵是固定的节

点,它可以拥有许多精灵帧(CCSpriteFrame),在它们之间切换就

形成了动画

11. 精灵帧缓存类CCSpriteFrameCache

精灵帧缓存类CCSpriteFrameCache用来存储精灵帧,提

前缓存起来有助于提高程序的效率。 CCSpriteFrameCache

是一个单例模式,不属于某个精灵,是所有精灵共享使用

 

12. 摄像机类(CCCamera)

所有节点都拥有一个摄像机类CCCamera。只有通过摄像机类,节点才会被渲染出

来。当节点发生缩放旋转和位置变化的时候,都需要覆盖CCCamera类,让这个节点通过

CCCamera 类重新渲染

 

13.容器类

 (1)CCArray 类似于存储数组的容器

 (2)CCDictionary 类似于哈希表的键值对应的容器

14. 拖动渐隐效果类CCMotionStreak

15. 绘制图形

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值