Cocos2d-x学习笔记(二) —— 如何添加一个精灵
2012-07-20 22:04
627 查看
教程中的源码可以在这下载: https://github.com/flyingpacer/Cocos2dxSimpleGame 你可以自己按照文章一步步来完成游戏,或者直接下载完整的代码,简单地编译运行。
1.加入图片资源
创建新的cocos2d-x项目后,你现在应该有一个cocos2d-1.0.1-x-0.10.0/MyGame文件夹。请下载这些图片,并把它们复制到cocos2d-1.0.1-x-0.10.0/MyGame/Resources文件夹里。如图所示:
2.添加一个精灵
你现在会发现把cocos2d游戏从objc移植到c++是多么的简单。打开HelloWorldScene.cpp,替换init方法如下所示:
好了,我们可以编译并运行代码了。现在忍者一袭黑衣,躲在黑暗中闪着红眼。要玩游戏的话,我们必须把背景改成白色的。这非常简单,修改HelloWorld,使它继承CCLayerColor,而不是CCLayer。
首先,修改HelloWorldScene.h的声明部分
之后修改HelloWorld::init()内的初始部分
把
CC_BREAK_IF(! CCLayer::init());
改成
要点1
1. 在c++里继承默认为private继承,因此需要在CCLayerColor类声明前加上“public”。
2. Cocos2d-iphone的主要作者RicardoQuesada建议我们在cocos2d-x中使用命名空间。检查你所调用的cocos2d-x类是在“cocos2d”命名空间还是在“CocosDenshion”命名空间是非常重要的。
编译并运行,之后你就会看到小英雄孤单地站在白色的背景里。
1.加入图片资源
创建新的cocos2d-x项目后,你现在应该有一个cocos2d-1.0.1-x-0.10.0/MyGame文件夹。请下载这些图片,并把它们复制到cocos2d-1.0.1-x-0.10.0/MyGame/Resources文件夹里。如图所示:
2.添加一个精灵
你现在会发现把cocos2d游戏从objc移植到c++是多么的简单。打开HelloWorldScene.cpp,替换init方法如下所示:
bool HelloWorld::init() { bool bRet = false; do { ////////////////////////////////////////////////////////////////////////// // super init first ////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(255,255,255,255))); ////////////////////////////////////////////////////////////////////////// // add your codes below... ////////////////////////////////////////////////////////////////////////// // 1. Add a menu item with "X" image, which is clicked to quit the program. // Create a "close" menu item with close icon, it's an auto release object. CCMenuItemImage *pCloseItem = CCMenuItemImage::itemFromNormalImage( "CloseNormal.png", "CloseSelected.png", this, menu_selector(HelloWorld::menuCloseCallback)); CC_BREAK_IF(! pCloseItem); // Place the menu item bottom-right conner. pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20)); // Create a menu with the "close" menu item, it's an auto release object. CCMenu* pMenu = CCMenu::menuWithItems(pCloseItem, NULL); pMenu->setPosition(CCPointZero); CC_BREAK_IF(! pMenu); // Add the menu to HelloWorld layer as a child layer. this->addChild(pMenu, 1); // 添加一个精灵 CCSize winSize = CCDirector::sharedDirector()->getWinSize(); CCSprite *player = CCSprite::spriteWithFile("Player.png"); player->setPosition(ccp(player->getContentSize().width/2,winSize.height/2)); this->addChild(player); bRet = true; } while (0); return bRet; }
好了,我们可以编译并运行代码了。现在忍者一袭黑衣,躲在黑暗中闪着红眼。要玩游戏的话,我们必须把背景改成白色的。这非常简单,修改HelloWorld,使它继承CCLayerColor,而不是CCLayer。
首先,修改HelloWorldScene.h的声明部分
class HelloWorld : public cocos2d::CCLayerColor
之后修改HelloWorld::init()内的初始部分
把
CC_BREAK_IF(! CCLayer::init());
改成
CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(255,255,255,255)));
要点1
1. 在c++里继承默认为private继承,因此需要在CCLayerColor类声明前加上“public”。
2. Cocos2d-iphone的主要作者RicardoQuesada建议我们在cocos2d-x中使用命名空间。检查你所调用的cocos2d-x类是在“cocos2d”命名空间还是在“CocosDenshion”命名空间是非常重要的。
编译并运行,之后你就会看到小英雄孤单地站在白色的背景里。
相关文章推荐
- Flex中如何给一个按钮添加链接,点击链接打开一个网页呢? - FLEX学习笔记
- cocos2d-x-3.0学习笔记之如何添加菜单按钮
- 如何添加一个cocos2d-x精灵
- 【Cocos2D-X 学习笔记】为精灵添加单点触控
- 【学习笔记】cocos2d 如何绘制一个字符串
- cocos2d-x学习笔记【三】添加精灵及相关操作
- Cocos2d-x学习笔记(三) —— 如何移动精灵
- 【学习笔记】cocos2d-x 如何创建一个按钮(文本按钮、图片按钮)
- 【学习笔记】Cocos2d-JS 如何创建精灵?(一)
- cocos2d-x SimpleGame(1)如何添加一个精灵
- Cocos2d-x 2.0 百例精讲:如何让一个精灵跟随触点移动
- Obkective-C学习笔记(十四)——如何在项目中新建一个类
- cocos2d-x学习笔记02——精灵贴图
- cocos2d-x 2.0.4 学习笔记(一)场景、层、精灵
- Cocos2dx学习笔记32 Cocos2d-x里如何用TexturePacker和像素格式来优化spritesheet
- 学习笔记之cocos2d-x2.1.1实现多个精灵的拖动
- cocos2d-x学习笔记06:如何将win32移植到android
- 学习COCOS2D-x 精灵动画 实现一个《热血传奇》开门效果
- Quick cocos2dx-Lua(V3.3R1)学习笔记(九) ---- 事件篇之单点触摸事件,让我们用精灵模仿一个按钮吧
- cocos2d-x 菜鸟学习笔记五(精灵与动画)