Cocos2d-x 3.6 项目实战---贪吃蛇(2)

前端之家收集整理的这篇文章主要介绍了Cocos2d-x 3.6 项目实战---贪吃蛇(2)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

先来点简单的,说说帮助类。
帮助类非常简单,只是显示一个背景,一个”帮助信息”的Label和一个返回菜单而已。

HelpScene.h :

#ifndef __snakegame__HelpScene__
#define __snakegame__HelpScene__
#include "cocos2d.h"
USING_NS_CC;
class Help :public Layer
{
public:
    static Scene * createScene();
    CREATE_FUNC(Help);
    virtual bool init();
    void menuCallBack(Ref * object);
};
#endif /* defined(__snakegame__HelpScene__) */

HelpScene.cpp :

#include "HelpScene.h"
#include "MainMenu.h"

Scene * Help@H_301_49@::createScene()
{
    auto scene = Scene@H_301_49@::create();
    auto layer = Help@H_301_49@::create();
    scene->addChild(layer);
    return scene;
}

bool  Help@H_301_49@::init()
{
    if (!Layer@H_301_49@::init())
    {
        return  @H_502_73@false;
    }
    auto size = Director@H_301_49@::getInstance()->getWinSize();
    //添加背景
    auto spriteBK = Sprite@H_301_49@::create("menuback.png");
    spriteBK->setPosition(Point(size.width / 2,size.height / 2));
    spriteBK->setOpacity(70);//设置透明度
    this->addChild(spriteBK);
    //帮助信息
    auto labelscore = Label@H_301_49@::createWithSystemFont("帮助信息","宋体",25);
    labelscore->setPosition(Point(size.width - 80,size.height - 50));
    this->addChild(labelscore);
    //返回按钮
    auto menuItemBack = MenuItemFont@H_301_49@::create("Back",CC_CALLBACK_1(Help@H_301_49@::menuCallBack,this));
    auto menu = Menu@H_301_49@::create(menuItemBack,NULL);
    menu->setPosition(Point@H_301_49@::ZERO);
    menuItemBack->setPosition(Point(size.width - menuItemBack->getContentSize().width - 100,menuItemBack->getContentSize().height + 10));
    this->addChild(menu);

    return @H_502_73@true;
}
//点击返回按钮返回到主界面
@H_502_73@void  Help@H_301_49@::menuCallBack(Ref * object)
{
    auto scene = MainMenu@H_301_49@::createScene();
    Director@H_301_49@::getInstance()->replaceScene(scene);
}

猜你在找的Cocos2d-x相关文章