加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用CoCos2dx-3.4开发一套可以商用的跑酷游戏 之三 初始界面的编

发布时间:2020-12-14 20:45:58 所属栏目:百科 来源:网络整理
导读:本来想一篇写完,但是看来不行,重新开一个2 上次讲了有一个跳转管理类的东西,在这里我将其代码贴出来,其中一个,大家可以看看是如何做的。 void GameProjectMange::createScene() { //创建CCScene(场景)对象 loadScene = CCScene::create(); //创建一个

本来想一篇写完,但是看来不行,重新开一个2

上次讲了有一个跳转管理类的东西,在这里我将其代码贴出来,其中一个,大家可以看看是如何做的。


void GameProjectMange::createScene()
{
//创建CCScene(场景)对象

loadScene = CCScene::create();
//创建一个布景对象(PlaneLayer类的对象)
LoadLayer *loadlayer = LoadLayer::create();
loadlayer->gpm = this;
//向场景中添加布景
loadScene->addChild(loadlayer);

}

void GameProjectMange::goMenu()
{
CCScene *pScene = CCScene::create();
pScene->addChild(MenuLayer::create());
CCTransitionScene* ccts=CCTransitionFadeTR::create(1.0f,pScene);
CCDirector::sharedDirector()->replaceScene(ccts);

}

这里我们主要是把它进行了一个规类,这样的话看起来会更简洁一点。

下面我们写一个主界面;代码有点多,简单介绍一下是这样子的

setKeypadEnabled(true);
//获取可见区域尺寸
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
//获取可见区域原点坐标
CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();
//创建背景精灵
CCSprite* menuBackground = CCSprite::create("gameBackground.png");
//设置背景精灵的位置
menuBackground->setPosition(ccp(origin.x+visibleSize.width/2,origin.y+visibleSize.height/2));
//将背景精灵添加到布景
this->addChild(menuBackground);
//创建背景精灵
CCSprite* title = CCSprite::create("title.png");
//设置背景精灵的位置
title->setPosition(ccp(origin.x+visibleSize.width/2,origin.y+visibleSize.height/6*4.6));
//将背景精灵添加到布景
this->addChild(title);

auto item1 = MenuItemImage::create("start_game.png","start_game_select.png",CC_CALLBACK_1(MenuLayer::goToGameLayer,this));
//auto item2 = MenuItemImage::create("help.png","help_select.png",CC_CALLBACK_1(MenuLayer::goToHelpLayer,this));
auto item3 = MenuItemImage::create("soundset.png","soundset_select.png",CC_CALLBACK_1(MenuLayer::SetSound,this));
auto item4 = MenuItemImage::create("exit_game.png","exit_game_select.png",CC_CALLBACK_1(MenuLayer::exitGame,this));
auto s = Director::getInstance()->getWinSize();
item1->setScaleX( 1.2f );
//item2->setScaleX( 1.2f );
item3->setScaleX( 1.2f );
item4->setScaleX( 1.2f );

这个东西无非就是创建一个menu,然后点那个就跑到那个里场景里面去,特别我,我们做了一个动画。

就是跑步的小人。

当然这个也很简单,

auto spriteq=Sprite::create();
this->addChild(spriteq);
spriteq->setPosition(Point(s.width/3,s.height/3));
spriteq->runAction(RepeatForever::create(sAnimationMgr->createAnimate(eAniRightSmall)));

做一个repeatforver的动作,并让它一直做下去。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读