Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)

本文详细介绍了使用Cocos2dx开发跑酷游戏《萝莉快跑》的过程,包括AppDelegate.cpp、GameMenuScene.cpp、GameObjStar.cpp等关键类的实现,讲解了游戏逻辑、角色动画、地图生成和碰撞检测等内容。通过阅读,读者可以了解到Cocos2dx游戏开发的基本技巧和实践操作。
摘要由CSDN通过智能技术生成

懒骨头(http://blog.csdn.net/iamlazybone  QQ124774397 青岛 )


或许有天

我们羡慕和崇拜的人

因为我们的努力

也会来了解我们

说不定

还会成为好友

骨头喜欢这样与哲哲共勉


多少个夜晚

一张长长的书桌上

哲哲在左边认真的做着可爱的独特的手作

骨头在右边噼里啪啦敲着自己真正喜欢的代码

中间的pad放部电影 || 放首歌 || 放段《一席》

这就是我们刚认识时憧憬的日子

所以现在是很幸福了


继续!

《喵汪大战》原作者:bill_man  http://my.csdn.net/bill_man 


昨晚那个游戏已经成功运行在了手机上,接下来,好好看看代码。



AppDelegate.cpp类

常规的东西,设置FPS,设置是否显示FPS,生成菜单场景类Scene,然后让导演类加载第一个场景。

GameMenuScene.cpp类


大部分工作都在init里,设置背景:

 CCSize size = CCDirector::sharedDirector()->getWinSize();    
    //菜单背景
    CCSprite* bg = CCSprite::create("MainMenu.png");
    bg->setScale(0.5);
    bg->setPosition( ccp(size.width/2, size.height/2) );
    this->addChild(bg, 0,0);
加载几个按钮,到CCMenu上,然后将CCMenu加载到Scene中

  //按钮
    CCMenuItemImage *newGameItem = CCMenuItemImage::create("newGameA.png", "newGameB.png",this,menu_selector(GameMenu::menuNewGameCallback));
    newGameItem->setScale(0.5);
    newGameItem->setPosition(ccp(size.width / 2 + 40,size.height / 2 - 20));
    newGameItem->setEnabled(false);
    CCMenuItemImage *continueItem = CCMenuItemImage::create("continueA.png", "continueB.png",this,menu_selector(GameMenu::menuContinueCallback));
    continueItem->setScale(0.5);
    continueItem->setPosition(ccp(size.width / 2 + 40,size.height / 2 - 60));
    continueItem->setEnabled(false);
    CCMenuItemImage *aboutItem = CCMenuItemImage::create("aboutA.png", "aboutB.png",this,menu_selector(GameMenu::menuAboutCallback));
    aboutItem->setScale(0.5);
    aboutItem->setPosition(ccp(size.width / 2 + 40,size.height / 2 - 100));
    aboutItem->setEnabled(false);
    soundItem = CCMenuItemImage::create("sound-on-A.png", "sound-on-B.png",this,menu_selector(GameMenu::menuSoundCallback));
    soundItem->setScale(0.5);
    soundItem->setEnabled(false);
    soundItem->setPosition(ccp(40,40));
    CCMenu* mainmenu = CCMenu::create(newGameItem,continueItem,aboutItem,soundItem,NULL);
    mainmenu->setPosition(ccp(0,0));
    this->addChild(mainmenu,1,3);
初始化背景音乐:

//初始化声音
    SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic("background.mp3");
    SimpleAudioEngine::sharedEngine()->setBackgroundMusicVolume(0.5);
    SimpleAudioEngine::sharedEngine()->playBackgroundMusic("background.mp3");

然后在onEnter方法里,让菜单按钮从无放大至正常大小

void GameMenu::onEnter(){
    CCLayer::onEnter();
    CCSize size = CCDirector::shar
  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值