懒骨头(http://blog.youkuaiyun.com/iamlazybone QQ:124774397 青岛)
以后有的忙了
抽空先来一发笔记
网上找了个demo:LOGO叫奇怪的大冒险(应该是@熊同学的demo,感谢:)
源码下载:http://download.youkuaiyun.com/detail/iamlazybone/7032991
================================
VS2013+git
先容许我吐槽下vs+git,搞了半天不是文件太大就是项目导入不好用,再不然就是文件被占用不能操作。
尝试了无数次,终于ok了,下面简单列一下步骤:
VS2013+Git 步骤:
1 vs里加入远程git地址,本地git地址
2 添加cocos2dx新建项目,写好gitignore,避开几个比较大的目录,提交
3 vs里Tools->Options->Text Editor->C/C++->Advanced,在 Fallback Location 的属性组中,将"Always Use Fallback Location"设置为 true,将"Do Not Warn If Fallback Location Used" 设置为 true ,然后删除解决方案目录下的 sdf 文件和 ipch 目录
4 项目修改附加目录,新增前三个,仅适用于骨头的项目:$(EngineRoot);$(EngineRoot)cocos;$(EngineRoot)cocos\editor-support;$(EngineRoot)cocos\audio\include;$(EngineRoot)external;$(EngineRoot)external\chipmunk\include\chipmunk;$(EngineRoot)extensions;..\Classes;..;%(AdditionalIncludeDirectories)
================================
其实骨头现在也不知道这到底是个什么demo,怎么玩
报环境:vs2013+cocos2dx 2.2 抱着学习代码的态度,就不移植到3.0了
开始搞起!
================================
首先是手绘风的欢迎界面:HelloWorldScene.cpp类:
1 播放背景音乐:
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("Audio_bgm_startup_cg.mp3",true);
2 把四张图片加载成帧动画,2秒一张,并且让sprite1同事进行俩动画:切换和飞入动画,并且动画结束时调用本类的animateFinished方法
CCFadeIn* fadein = CCFadeIn::create(1.0f);
CCFadeIn* fadein2 = CCFadeIn::create(0.1f);
//sprite1->runAction(fadein);
CCSpriteFrame * frame0 = CCSpriteFrame::create("StageCG_bkg1_zh.png", CCRectMake(0, 0, 800, 480));
CCSpriteFrame * frame1 = CCSpriteFrame::create("StageCG_bkg2_zh.png", CCRectMake(0, 0, 800, 480));
CCSpriteFrame * frame2 = CCSpriteFrame::create("StageCG_bkg3_zh.png", CCRectMake(0, 0, 800, 480));
CCSpriteFrame * frame3 = CCSpriteFrame::create("StageCG_bkg4_zh.png", CCRectMake(0, 0, 800, 480));
CCArray* array = CCArray::createWithCapacity(4);
array->addObject(frame0);
array->addObject(frame1);
array->addObject(frame2);
array->addObject(frame3);
CCAnimation* animation = CCAnimation::createWithSpriteFrames(array, 2.0f);
CCFiniteTimeAction* actionMoveDone = CCCallFuncN::create(this, callfuncN_selector(HelloWorld::animateFinished));
sprite1->runAction(CCSequence::create(CCSpawn::createWithTwoActions(fadein, CCAnimate::create(animation)), actionMoveDone, NULL));3 加入一个menu菜单,里面有个跳过按钮:
CCMenuItemImage *skipItem = CCMenuItemImage::create(
"StageCG_skip_normal_zh.png",
"StageCG_skip_pressed_zh.png",
this,
menu_selector(HelloWorld::skipCallback));4 跳过和动画结束方法里的方法是一样的,都是切换MenuScene:
CCScene *gameMenu = GameMenu::scene();
CCDirector::sharedDirector()->replaceScene(CCTransitionJumpZoom::create(1.0f, gameMenu));
下面看下GameMenu.cpp类:菜单类:
1 这里面就是简单的贴图:
CCSprite* title = CCSprite::create("Startup_lbl_title_zh.png");
title->setPosition(ccp(size.width / 2, size.height - 135));
addChild(title);
CCSprite* photo_border = CCSprite::create("Startup_photo_border.png");
photo_border->setPosition(ccp(230, 200));
addChild(photo_border);
CCSprite* saveher = CCSprite::create("Startup_lbl_saveher.png");
saveher->setPosition(ccp(230, 240)

这篇博客详细记录了作者通过Cocos2d-x 2.2学习《奇怪的大冒险》源码的过程,包括环境配置、VS2013+Git的集成步骤,以及游戏中各个关键类的功能解析,如HelloWorldScene、GameMenu、Game_1_1等。作者探讨了资源管理、地图碰撞检测和角色控制等方面,并分享了如何修改代码进行作弊以方便理解。博客末尾提供了源码下载链接。
最低0.47元/天 解锁文章
1460





