91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2d-x3.0學習之場景切換代碼

發布時間:2020-06-03 08:52:07 來源:網絡 閱讀:949 作者:hagar 欄目:游戲開發

HelloWorldScene.h

#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__


#include "cocos2d.h"


class HelloWorld : public cocos2d::Layer

{

public:

    // there's no 'id' in cpp, so we recommend returning the class instance pointer

    static cocos2d::Scene* createScene();


    // Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone

    virtual bool init();  

    

    // a selector callback

    void menuCloseCallback(cocos2d::Ref* pSender);

    

    // implement the "static create()" method manually

    CREATE_FUNC(HelloWorld);


void HelloWorld::menujumpCallback(cocos2d::Ref* pSender);


cocos2d::Scene*createfirst();

void HelloWorld::menureturn(cocos2d::Ref*pSender);

};


#endif // __HELLOWORLD_SCENE_H__


========================================================================================

HelloWorldScene.cpp

#include "HelloWorldScene.h"


USING_NS_CC;


Scene* HelloWorld::createScene()

{

    // 'scene' is an autorelease object

    auto scene = Scene::create();

    

    // 'layer' is an autorelease object

    auto layer = HelloWorld::create();


    // add layer as a child to scene

    scene->addChild(layer);


    // return the scene

    return scene;

}

void HelloWorld::menureturn(cocos2d::Ref*pSender)

{

auto ss=HelloWorld::createScene();

auto ts=TransitionZoomFlipY::create(1.0f,ss);

Director::getInstance()->replaceScene(ts);


}

Scene*HelloWorld::createfirst()

{

auto s=Scene::create();

auto layer=LayerColor::create(Color4B(100,10,128,128));

auto sprite=Sprite::create("bg.png");

layer->addChild(sprite);

auto l=LabelTTF::create("Welcome to play game","Arial",25);

auto d=Director::sharedDirector()->getWinSize();

auto width=d.width/2;

auto height=d.height/2;


l->setPosition(Point(width,height));

layer->addChild(l);

//create menu

auto returnmenu=MenuItemImage::create("leaf.png","icon.png",CC_CALLBACK_1(HelloWorld::menureturn , this));

returnmenu->setPosition(Point(400,400));

auto mm=Menu::create(returnmenu,NULL);

mm->setPosition(Point(400,400));


s->addChild(layer);

return s;


}

// on "init" you need to initialize your instance

bool HelloWorld::init()

{

    //////////////////////////////

    // 1. super init first

    if ( !Layer::init() )

    {

        return false;

    }

    

    Size visibleSize = Director::getInstance()->getVisibleSize();

    Vec2 origin = Director::getInstance()->getVisibleOrigin();


    /////////////////////////////

    // 2. add a menu item with "X" p_w_picpath, which is clicked to quit the program

    //    you may modify it.


    // add a "close" icon to exit the progress. it's an autorelease object

    auto closeItem = MenuItemImage::create(

                                           "CloseNormal.png",

                                           "CloseSelected.png",

                                           CC_CALLBACK_1(HelloWorld::menuCloseCallback, this));

    

closeItem->setPosition(Vec2(origin.x + visibleSize.width - closeItem->getContentSize().width/2 ,

                                origin.y + closeItem->getContentSize().height/2));


    // create menu, it's an autorelease object

    auto menu = Menu::create(closeItem, NULL);

    menu->setPosition(Vec2::ZERO);


auto click=MenuItemImage::create("hagar1.png","hagar2.png",  CC_CALLBACK_1(HelloWorld::menujumpCallback , this));

click->setPosition(Point(100,100));

auto m=Menu::create(click,NULL);

m->setPosition(Vec2::ONE);

this->addChild(menu,1);

this->addChild(m,1);

    

    auto label = LabelTTF::create("cocos2d-x game", "Arial", 30);

    

    // position the label on the center of the screen

    label->setPosition(Vec2(origin.x + visibleSize.width/2,

                            origin.y + visibleSize.height - label->getContentSize().height));


    // add the label as a child to this layer

    this->addChild(label, 1);


    // add "HelloWorld" splash screen"

    auto sprite = Sprite::create("HelloWorld.png");


    // position the sprite on the center of the screen

    sprite->setPosition(Vec2(visibleSize.width/2 + origin.x, visibleSize.height/2 + origin.y));


    // add the sprite as a child to this layer

    this->addChild(sprite, 0);

    return true;

}


void HelloWorld::menujumpCallback(Ref* pSender)

{

auto scene=HelloWorld::createfirst();

auto s2=TransitionZoomFlipY::create(1.0f,scene);

Director::getInstance()->replaceScene(s2);

}

//導演類的結束方法

void HelloWorld::menuCloseCallback(Ref* pSender)

{

#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT)

MessageBox("You pressed the close button. Windows Store Apps do not implement a close button.","Alert");

    return;

#endif


    Director::getInstance()->end();


#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

    exit(0);

#endif

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

大安市| 龙口市| 昔阳县| 略阳县| 建湖县| 马鞍山市| 朝阳县| 繁峙县| 同德县| 榆林市| 桓台县| 东台市| 库尔勒市| 新宁县| 抚松县| 孝感市| 临猗县| 大姚县| 板桥市| 泰兴市| 莲花县| 华池县| 高碑店市| 洞头县| 多伦县| 芜湖县| 五常市| 周口市| 江永县| 济宁市| 囊谦县| 海口市| 尤溪县| 河曲县| 积石山| 曲阜市| 如皋市| 镇宁| 稻城县| 云霄县| 铜山县|