cocos2d-x学习笔记(4)--CCLayer背景绘制
来源:互联网 发布:网络爬虫违法吗 编辑:程序博客网 时间:2024/05/21 00:48
cocos2d-x学习笔记(4)--CCLayer背景绘制
本文出自http://www.wenbanana.com稻草人博客,欢迎访问!
step1:创建一个cocos2d-win32 application,并命名为simpleGame
step2:在HelloWorldScene.h中创建新类LayerBlack、LayerBlue和LayerBackground
class LayerBackground:public CCLayerColor{
public: LayerBackground();
~LayerBackground();
public: virtual void onEnter();};
class LayerCloud:public CCLayerColor{
public: LayerCloud(); ~LayerCloud();
public: virtual void onEnter();
};
class LayerHill:public CCLayerColor{
public: LayerHill();
~LayerHill();
public: virtual void onEnter();};
在HelloWorldScene.cpp中添加如下代码:
/************************************************************************//* class LayerCloud *//************************************************************************/LayerCloud::LayerCloud(){
CCSize size = CCDirector::sharedDirector()->getWinSize();
this->initWithColor(ccc4(0,0,0,0));
CCSprite* pSpriteCloud = CCSprite::spriteWithFile("cloud.png");// CC_BREAK_IF(!pSpriteCloud); pSpriteCloud->setPosition(ccp(size.width/2,size.height/2)); addChild(pSpriteCloud);
}LayerCloud::~LayerCloud(){
}
void LayerCloud::onEnter(){ CCLayer::onEnter();
}
/************************************************************************//* class LayerHill *//************************************************************************/
LayerHill::LayerHill(){
CCSize size = CCDirector::sharedDirector()->getWinSize();
this->initWithColor(ccc4(0,0,0,0)); CCSprite* pSpriteHill = CCSprite::spriteWithFile("hill.png"); //CC_BREAK_IF(!pSpriteHill); pSpriteHill->setPosition(ccp(size.width/2,size.height/2)); addChild(pSpriteHill);
}
LayerHill::~LayerHill(){
}
void LayerHill::onEnter(){ CCLayer::onEnter();
}
/************************************************************************//* class LayerBackground *//************************************************************************/
LayerBackground::LayerBackground (){
CCSize size = CCDirector::sharedDirector()->getWinSize();
CCLabelTTF* label = CCLabelTTF::labelWithString(m_strTitle.c_str(),"Arial", 32); addChild(label);
label->setPosition(ccp(size.width /2, size.height/2));
this->initWithColor(ccc4(255,255,255,255));
}
LayerBackground ::~LayerBackground (){
}
void LayerBackground ::onEnter(){ CCLayer::onEnter();
}
修改init()函数:
CCScene* HelloWorld::scene(){ CCScene * scene = NULL; do { // 'scene' is an autorelease object scene = CCScene::node(); CC_BREAK_IF(! scene);
// 'layer' is an autorelease object //HelloWorld *layer = HelloWorld::node(); LayerBackground* playerBack = new LayerBackground(); LayerCloud* playerCloud = new LayerCloud(); LayerHill* playerHill = new LayerHill();
CC_BREAK_IF(! playerHill); CC_BREAK_IF(!playerCloud); CC_BREAK_IF(!playerBack);
// add layer as a child to scene //addChild中的第二个参数为背景的次序,LayerHill在LayerCloud的上面,即表面。 scene->addChild(playerHill, 2); scene->addChild(playerCloud, 1); scene->addChild(playerBack,0);
} while (0);
// return the scene return scene;}
由于游戏中一个场景中的背景可能含有很多内容,若将全部内容放在同一个背景下,就会导致管理上的不方便,因此可以通过组合多个背景(Layer)来形成一个画面;来管理一个游戏场景
示意图:
通过两个背景的组合
最终得到如下效果
运行程序后会见到如下的画面:
源代码下载地址:http://download.csdn.net/download/wen294299195/4525792
- cocos2d-x学习笔记(4)--CCLayer背景绘制
- cocos2d-x学习之CCLayer
- Cocos2d-X 学习笔记 21 CCLayer响应手机按键
- Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
- cocos2d-x(4):CCLayer(层) CCLayerColor、CCLayerGradient、CClayerDelegate学习
- 【Cocos2d-x】CCLayer
- Cocos2d-x学习笔记(五)CCLayer分析及输入事件处理(触摸、重力传感器、按键)
- 我的Cocos2d-x学习笔记(五)CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- cocos2d-X学习之主要类介绍:布景:CCLayer
- cocos2d-x学习之给CCLayer设置单点触摸
- Cocos2d-x结构学习(四)CCLayer、CCApplicationProtocol、CCApplication
- cocos2d-x CCLayer可视区域
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- 【Cocos2d-X开发学习笔记】第05期:渲染框架之布景层类(CCLayer)的使用
- cocos2d-x初探学习笔记(12)--图形绘制
- cocos2d-x学习笔记03:绘制基本图元
- cocos2d-x学习笔记02:绘制基本图元
- Binning
- ajax之jquery与struts2通信
- 集训第二周
- 设计模式——抽象工厂模式
- 濾波和卷積
- cocos2d-x学习笔记(4)--CCLayer背景绘制
- android 在popupWindow中添加tabHost控件,tabspec中listView控件无法响应触屏事件问题?
- rcp(插件开发)org.eclipse.ui.propertyPages 扩展点使用
- memset函数详细说明
- 组合模式
- 圖像采集卡發展史
- 圖像采集卡
- 能量项链 (区间DP,环状)
- (百例编程)74.可称1~40磅的4块砝码