本来想一篇写完,但是看来不行,重新开一个2
上次讲了有一个跳转管理类的东西,在这里我将其代码贴出来,其中一个,大家可以看看是如何做的。
@H_403_5@ void GameProjectMange::createScene()@H_403_5@ {@H_403_5@ //创建CCScene(场景)对象@H_403_5@ @H_403_5@ loadScene = CCScene::create();@H_403_5@ //创建一个布景对象(PlaneLayer类的对象)@H_403_5@ LoadLayer *loadlayer = LoadLayer::create();@H_403_5@ loadlayer->gpm = this;@H_403_5@ //向场景中添加布景@H_403_5@ loadScene->addChild(loadlayer);@H_403_5@ @H_403_5@ }
void GameProjectMange::goMenu()@H_403_5@ {@H_403_5@ CCScene *pScene = CCScene::create();@H_403_5@ pScene->addChild(MenuLayer::create());@H_403_5@ CCTransitionScene* ccts=CCTransitionFadeTR::create(1.0f,pScene);@H_403_5@ CCDirector::sharedDirector()->replaceScene(ccts);
}
这里我们主要是把它进行了一个规类,这样的话看起来会更简洁一点。
下面我们写一个主界面;代码有点多,简单介绍一下是这样子的
setKeypadEnabled(true);@H_403_5@ //获取可见区域尺寸@H_403_5@ CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();@H_403_5@ //获取可见区域原点坐标@H_403_5@ CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();@H_403_5@ //创建背景精灵@H_403_5@ CCSprite* menuBackground = CCSprite::create("gameBackground.png");@H_403_5@ //设置背景精灵的位置@H_403_5@ menuBackground->setPosition(ccp(origin.x+visibleSize.width/2,origin.y+visibleSize.height/2));@H_403_5@ //将背景精灵添加到布景@H_403_5@ this->addChild(menuBackground);@H_403_5@ //创建背景精灵@H_403_5@ CCSprite* title = CCSprite::create("title.png");@H_403_5@ //设置背景精灵的位置@H_403_5@ title->setPosition(ccp(origin.x+visibleSize.width/2,origin.y+visibleSize.height/6*4.6));@H_403_5@ //将背景精灵添加到布景@H_403_5@ this->addChild(title);
auto item1 = MenuItemImage::create("start_game.png","start_game_select.png",CC_CALLBACK_1(MenuLayer::goToGameLayer,this));@H_403_5@ //auto item2 = MenuItemImage::create("help.png","help_select.png",CC_CALLBACK_1(MenuLayer::goToHelpLayer,this));@H_403_5@ auto item3 = MenuItemImage::create("soundset.png","soundset_select.png",CC_CALLBACK_1(MenuLayer::SetSound,this));@H_403_5@ auto item4 = MenuItemImage::create("exit_game.png","exit_game_select.png",CC_CALLBACK_1(MenuLayer::exitGame,this));@H_403_5@ auto s = Director::getInstance()->getWinSize();@H_403_5@ item1->setScaleX( 1.2f );@H_403_5@ //item2->setScaleX( 1.2f );@H_403_5@ item3->setScaleX( 1.2f );@H_403_5@ item4->setScaleX( 1.2f );
这个东西无非就是创建一个menu,然后点那个就跑到那个里场景里面去,特别我,我们做了一个动画。
就是跑步的小人。
当然这个也很简单,
auto spriteq=Sprite::create();@H_403_5@ this->addChild(spriteq);@H_403_5@ spriteq->setPosition(Point(s.width/3,s.height/3));@H_403_5@ spriteq->runAction(RepeatForever::create(sAnimationMgr->createAnimate(eAniRightSmall)));
做一个repeatforver的动作,并让它一直做下去。