中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

cocos2D中HelloWorldScene.h和HelloWorldScene.cpp的簡單解釋

發布時間:2020-06-10 02:15:58 來源:網絡 閱讀:595 作者:Amorming 欄目:移動開發

cocos2D中HelloWorldScene.h和HelloWorldScene.cpp的簡單解釋

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();
}


向AI問一下細節

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

AI

灵武市| 五大连池市| 西畴县| 上饶县| 新野县| 乌拉特前旗| 安庆市| 永春县| 通州区| 霍邱县| 大化| 蛟河市| 大方县| 平潭县| 威宁| 林甸县| 汕尾市| 屏山县| 通海县| 黄大仙区| 克山县| 龙井市| 阳朔县| 静宁县| 雷山县| 延长县| 惠州市| 云和县| 南和县| 麻栗坡县| 兴仁县| 蓬莱市| 彰化市| 隆昌县| 涡阳县| 四子王旗| 昭通市| 含山县| 新龙县| 农安县| 惠州市|