懒骨头(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 /