cocos2d場景切換-創(chuàng)新互聯(lián)

開始學習cocos2d啦,加油啊!??!

站在用戶的角度思考問題,與客戶深入溝通,找到沅陵網(wǎng)站設計與沅陵網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站建設、外貿營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬空間、企業(yè)郵箱。業(yè)務覆蓋沅陵地區(qū)。

第一個hello world界面

#ifndef __HELLOWORLD_SCENE_H__

#define __HELLOWORLD_SCENE_H__

#include "cocos2d.h"

#include "SimpleAudioEngine.h"

class HelloWorld : public cocos2d::CCLayer

{

public:

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

  virtual bool init();

  // there's no 'id' in cpp, so we recommand to return the exactly class pointer

  static cocos2d::CCScene* scene();

  // a selector callback

  void menuCloseCallback(CCObject* pSender);

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

  CREATE_FUNC(HelloWorld);

};

#endif  // __HELLOWORLD_SCENE_H__

#include "HelloWorldScene.h"

#include "MyLayer.h"

using namespace cocos2d;

CCScene* HelloWorld::scene()

{

  CCScene * scene = NULL;

  do

  {

    // 'scene' is an autorelease object

    scene = CCScene::create();

    CC_BREAK_IF(! scene);

    // 'layer' is an autorelease object

    HelloWorld *layer = HelloWorld::create();

    CC_BREAK_IF(! layer);

    // add layer as a child to scene

    scene->addChild(layer);

  } while (0);

  // return the scene

  return scene;

}

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

bool HelloWorld::init()

{

  bool bRet = false;

  do

  {

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

    // super init first

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

    CC_BREAK_IF(! CCLayer::init());

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

    // add your codes below...

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

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

    // Create a "close" menu item with close icon, it's an auto release object.

    CCMenuItemImage *pCloseItem = CCMenuItemImage::create(

      "CloseNormal.png",

      "CloseSelected.png",

      this,

      menu_selector(HelloWorld::menuCloseCallback));

    CC_BREAK_IF(! pCloseItem);

    // Place the menu item bottom-right conner.

    pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));

    // Create a menu with the "close" menu item, it's an auto release object.

    CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);

    pMenu->setPosition(CCPointZero);

    CC_BREAK_IF(! pMenu);

    // Add the menu to HelloWorld layer as a child layer.

    this->addChild(pMenu, 1);

    // 2. Add a label shows "Hello World".

    // Create a label and initialize with string "Hello World".

    CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 24);

    CC_BREAK_IF(! pLabel);

    // Get window size and place the label upper.

    CCSize size = CCDirector::sharedDirector()->getWinSize();

    pLabel->setPosition(ccp(size.width / 2, size.height - 50));

    // Add the label to HelloWorld layer as a child layer.

    this->addChild(pLabel, 1);

    // 3. Add add a splash screen, show the cocos2d splash p_w_picpath.

    CCSprite* pSprite = CCSprite::create("HelloWorld.png");

    CC_BREAK_IF(! pSprite);

    // Place the sprite on the center of the screen

    pSprite->setPosition(ccp(size.width/2, size.height/2));

    // Add the sprite to HelloWorld layer as a child layer.

    this->addChild(pSprite, 0);

    bRet = true;

  } while (0);

  return bRet;

}

void HelloWorld::menuCloseCallback(CCObject* pSender)

{

  // "close" menu item clicked

  // CCDirector::sharedDirector()->end();

//場景切換

CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInT::create(3.0,CMyLayer::scence()));

}

第二個場景代碼

#pragma once

#include "cocos2d.h"

using namespace cocos2d;

class CMyLayer:public CCLayer

{

public:

CMyLayer(void);

~CMyLayer(void);

static CCScene * scence();

virtual bool init();

void CMyLayer::menuCloseCallback(CCObject* pSender);

CREATE_FUNC(CMyLayer);

};

#include "MyLayer.h"

CMyLayer::CMyLayer(void)

{

}

CMyLayer::~CMyLayer(void)

{

}

 CCScene *CMyLayer:: scence()

{

CCScene *pScence = CCScene::create();

CMyLayer *pCMyLayer = CMyLayer::create();

pScence->addChild(pCMyLayer);

return pScence;

}

bool CMyLayer::  init()

{

CCLabelTTF *pLable = CCLabelTTF::create("HI Fighting..!!!","Arial",40);

pLable->setPosition(ccp(200,200));

this->addChild(pLable);

CCMenuItemImage *pCloseItem = CCMenuItemImage::create(

"CloseNormal.png",

"CloseSelected.png",

this,

menu_selector(CMyLayer::menuCloseCallback));

//CC_BREAK_IF(! pCloseItem);

// Place the menu item bottom-right conner.

pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20));

// Create a menu with the "close" menu item, it's an auto release object.

CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);

pMenu->setPosition(CCPointZero);

 this->addChild(pMenu, 1);

//CC_BREAK_IF(! pMenu);

return true;

}

void CMyLayer::menuCloseCallback(CCObject* pSender)

{

// "close" menu item clicked

CCDirector::sharedDirector()->end();

//CCDirector::sharedDirector()->replaceScene(CMyLayer::scence());

}

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:cocos2d場景切換-創(chuàng)新互聯(lián)
網(wǎng)址分享:http://muchs.cn/article16/dpjgdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內鏈、網(wǎng)站設計、網(wǎng)頁設計公司、小程序開發(fā)、網(wǎng)站建設、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)