• Cocos2d 之FlyBird开发---GameAbout类


    |   版权声明:本文为博主原创文章,未经博主允许不得转载。(笔者才疏学浅,如有错误,请多多指教)

      一般像游戏关于的这种界面中,主要显示的是游戏的玩法等。

    GameAbout.h

    #ifndef _GAME_ABOUT_H_
    #define _GAME_ABOUT_H_
     
    //////////////////////////////////////////////////////////
    ////////   此文件主要描述关于界面
     
    #include "cocos2d.h"
    USING_NS_CC;
     
    class GameAbout : public cocos2d::Layer
    {
    private:
         cocos2d::MenuItemImage* awayItem;
         cocos2d::Sprite* background;
    public:
         static cocos2d::Scene* createScene();
         virtual bool init();
         void aboutInterface();
         void goMainInterface(cocos2d::Ref*);
         CREATE_FUNC(GameAbout);
    };
    #endif // _GAME_ABOUT_H_
    

    GameAbout.cpp

    #include "GameAbout.h"
    #include "GameUnit.h"
    #include "MainMenu.h"
     
    unit u1;
     
    cocos2d::Scene* GameAbout::createScene()
    {
         auto scene = Scene::create();
         auto layer = GameAbout::create();
         scene->addChild(layer);
         return scene;
    }
     
    bool GameAbout::init()
    {
         if (!Layer::init())
         {
                  return false;
         }
     
     
         this->aboutInterface();
     
         
         //best->setColor(Color3B(0, 0, 0));
         //best->setString(__String::createWithFormat("%d", Score - 1)->getCString());
     
         return true;
    }
     
    void GameAbout::aboutInterface()
    {
         background = Sprite::create("background/about.png");
         background->setPosition(Vec2(u1.winOrigin().x + u1.winSize().width / 2,
                  u1.winOrigin().y + u1.winSize().height / 2));
         background->setScale(u1.scaleX(background, u1.winSize()),
                  u1.scaleY(background, u1.winSize()));
         this->addChild(background, 0);
     
         awayItem = MenuItemImage::create(
                  "button/away.png",
                  "button/buttom.png",
                  CC_CALLBACK_1(GameAbout::goMainInterface, this));
         awayItem->setPosition(Vec2(u1.winOrigin().x + awayItem->getContentSize().width / 2,
                  u1.winOrigin().y + awayItem->getContentSize().height / 2));
         auto m = Menu::create(awayItem, NULL);
         m->setPosition(Vec2::ZERO);
         this->addChild(m, 2);    
    }
     
    void GameAbout::goMainInterface(cocos2d::Ref* pSender)
    {
         Director::getInstance()->replaceScene(TransitionFadeBL::create(1,
                  MainMenu::createScene()));
    }
    

      

    函数的功能介绍详见:http://lipei95.blog.163.com/blog/static/257578646201671924726318/

    效果图:

  • 相关阅读:
    gSTM:Ubuntu 上的 SSH Tunneling 图形界面管理工具
    Fiji Is Just ImageJ
    puppet运维自动化之sshkey管理
    Deploying JRuby applications with Java Web Start
    PAC Manager: Ubuntu 上强大的 SSH 帐号管理工具,可取代 SecureCRT
    rackwebconsole Build Status
    Jython Course Outline
    VPython
    Python Remote Objects 4.x
    Python包中__init__.py
  • 原文地址:https://www.cnblogs.com/geore/p/5800098.html
Copyright © 2020-2023  润新知