利用cocos2dx 3.2开发消灭星星(二)菜单(附素材)

1.游戏分辨率
这里由于背景图片是480X800,所以在AppDelegate中调一下设计分辨率和窗口缩放

glview->setDesignResolutionSize(480,800,ResolutionPolicy::EXACT_FIT);

```

注意,这里要进入GLView的create函数中修改窗口缩放
GLView* GLView::create(const std::string& viewName)
{
    auto ret = new GLView;
    if(ret && ret->initWithRect(viewName, Rect(0, 0, 480, 800), 0.8f)) {
        ret->autorelease();
        return ret;
    }

    return nullptr;
}

```

原来initWithRect中的第四个参数默认是1的,现在改成0.8好让电脑能够显示出整个窗口

2.菜单界面
和其他游戏一样,在AppDelegate::applicationDidFinishLaunching函数中启动MenuScene
auto scene = MenuScene::create();

director->runWithScene(scene);

```

MenuScene中只有一个MenuLayer,这里就不列出代码了。

MenuLayer中,初始化菜单背景和一个开始按钮。
bool MenuLayer::init(){
    if(!Layer::init()){
        return false;
    }

    Size visibleSize = Director::getInstance()->getVisibleSize();
    /*初始化背景*/
    Sprite* background = Sprite::create("bg_menuscene.jpg");
    background->setPosition(visibleSize.width/2,visibleSize.height/2);
    this->addChild(background,-1);
    
    /*初始化菜单*/
    MenuItemImage* startBtn = MenuItemImage::create(
        "menu_start.png","menu_star.png",CC_CALLBACK_0(MenuLayer::startGame,this)
        );
    Menu* menu = Menu::create(startBtn,NULL);
    menu->alignItemsVertically();
    menu->setPosition(visibleSize.width/2,visibleSize.height/2);
    this->addChild(menu);
    return true;
}

```

菜单中添加一个开始按钮,按钮指向一个回调函数,用于切换到GameScene。

消灭星星素材下载地址 http://pan.baidu.com/s/1ntt6KMt

:2: :2: :2: :2: