您好,登錄后才能下訂單哦!
HelloWorldScene.h
#ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" class HelloWorld : public cocos2d::CCLayer { public: // 這里有一個區別。“init”方法在cocos2d-x 返回 bool ,而不是返回“id”在 cocos2d-iphone virtual bool init(); // 沒有“id”在cpp,所以我們推薦返回完全類指針 static cocos2d::CCScene* scene(); // 一個選擇器回調 void menuCloseCallback(CCObject* pSender); // 手動實現 "static node()" 這個方法 CREATE_FUNC(HelloWorld); }; #endif // __HELLOWORLD_SCENE_H__
HelloWorldScene.cpp
#include "HelloWorldScene.h" using namespace cocos2d; CCScene* HelloWorld::scene() { CCScene * scene = NULL; do { // “場景”是一個生成自動釋放對象 scene = CCScene::create(); CC_BREAK_IF(! scene); // “層”是一個生成自動釋放對象 HelloWorld *layer = HelloWorld::create(); CC_BREAK_IF(! layer); // 添加層作為一個孩子到場景 scene->addChild(layer); } while (0); // 返回現場 return scene; } // 在“init”你需要初始化您的實例 bool HelloWorld::init() { bool bRet = false; do { ////////////////////////////////////////////////////////////////////////// // super init first ////////////////////////////////////////////////////////////////////////// CC_BREAK_IF(! CCLayer::init()); ////////////////////////////////////////////////////////////////////////// // 下面添加你的代碼…… ////////////////////////////////////////////////////////////////////////// // 1。添加一個菜單項以“X”的形象,這是點擊退出程序。 // 創建一個“close”以關閉圖標菜單項目,這是一個自動釋放對象。 CCMenuItemImage *pCloseItem = CCMenuItemImage::create( "CloseNormal.png", "CloseSelected.png", this, menu_selector(HelloWorld::menuCloseCallback)); CC_BREAK_IF(! pCloseItem); // 將菜單項右下角測試 pCloseItem->setPosition(ccp(CCDirector::sharedDirector()->getWinSize().width - 20, 20)); // 創建一個菜單,菜單上的“close”菜單項,它是一個自動釋放對象。 CCMenu* pMenu = CCMenu::create(pCloseItem, NULL); pMenu->setPosition(CCPointZero); CC_BREAK_IF(! pMenu); // 添加菜單HelloWorld層作為一個孩子層。 this->addChild(pMenu, 1); // 2。添加一個標簽顯示“Hello World”。 // 創建一個標簽和初始化與字符串“Hello World”。 // CCLabelTTF只支持系統的字體,或者你自行添加的ttf字體 CCLabelTTF* pLabel = CCLabelTTF::create("Hello World", "Arial", 30); CC_BREAK_IF(! pLabel); // 得到窗口的大小和位置標簽上。 CCSize size = CCDirector::sharedDirector()->getWinSize(); pLabel->setPosition(ccp(size.width / 2, size.height - 50)); // 添加標簽到HelloWorld層作為一個孩子層。 this->addChild(pLabel, 1); // 3。添加添加一個啟動畫面,顯示cocos2d飛濺的形象。 CCSprite* pSprite = CCSprite::create("snake.png"); CC_BREAK_IF(! pSprite); // 把精靈放在在屏幕的中心 pSprite->setPosition(ccp(size.width/2, size.height/2)); // 加入精靈到HelloWorld層作為一個孩子層。 this->addChild(pSprite, 0); bRet = true; } while (0); return bRet; } void HelloWorld::menuCloseCallback(CCObject* pSender) { // "close" 菜單項點擊 CCDirector::sharedDirector()->end(); }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。