最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Cocos2d-x中調用Lua及HelloWorld.lua源碼分解

 更新時間:2014年09月12日 10:57:02   作者:笨木頭  
這篇文章主要介紹了Cocos2d-x中調用Lua及HelloWorld.lua源碼分解,本文最后總結了一些Lua的語法,需要的朋友可以參考下

Lua腳本,以前我不知道它有多強大,但是當我做了1年的手機網游之后,起碼我發(fā)現了,更新客戶端是一件很恐怖的事情(會導致大量玩家的流失,以及有一個漫長并且驚心動魄的審核過程),太扯了。于是,如果可以只更新腳本,那就不需要玩家重新下載客戶端了,直接在線更新,嗯嗯,雖然我發(fā)現了這個,但是還沒有實現。噗,代碼寫爛了,不好改。
 
所以啊,我已經做好準備了,如果下次用cocos2d-x開發(fā),lua不可少啊~!
 
看看官方的例子吧,先來AppDelegate.cpp的applicationDidFinishLaunching函數:

復制代碼 代碼如下:

#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
    CCString* pstrFileContent = CCString::createWithContentsOfFile("helloWorld.lua ");
    if (pstrFileContent)
    {
        pEngine->executeString(pstrFileContent->getCString());
    }
#else
    std::string path = CCFileUtils::sharedFileUtils()->fullPathFromRelativePath("helloWorld.lua");
    pEngine->addSearchPath(path.substr(0, path.find_last_of("/")).c_str());
    pEngine->executeScriptFile(path.c_str());
#endif

是的,就看這一段就好了。就Android加載lua腳本的方式有點奇怪,但是和LuaJava的加載方式很像(我喜歡,噗)。
也就是說,我們要執(zhí)行某個lua腳本的話,就是用上面這段代碼了,不解釋,不好解釋(難道要我解釋源碼?噗)。

來,看看helloWorld.lua是怎么寫的吧:

復制代碼 代碼如下:

local winSize = CCDirector:sharedDirector():getWinSize()
local function createHelloLayer()
    local layer = CCLayer:create();
    local sprite = CCSprite:create("Default.png");
    sprite:setPosition(winSize.width / 2, winSize.height / 2);
    layer:addChild(sprite);
    return layer
end
local scene = CCScene:create();
scene:addChild(createHelloLayer());
CCDirector:sharedDirector():runWithScene(scene);

哎哎,lua的語法其實我也不是很熟悉,因為我真的沒有用lua開發(fā)過。說說我懂的吧,注意幾點:
1. 一般變量都要local xx形式,不要習慣了搞個int xx什么的哈
2.  lua是沒有變量類型這個說法,你想它是什么類型,它就是什么類型,當然,賦值之后它的類型也就確定了
3.  然后,貌似cocos2d-x的lua要使用API的函數好簡單啊,比如在cpp應該是
CCLayer::create(),而到了lua這里就CCLayer:create(),是的,注意一個是兩個冒號,一個是一個冒號。
4. 使用方法是一個冒號,那使用屬性呢?好像是,一個點。
5. 注意了,不管是靜態(tài)方法,非靜態(tài)方法,都是用一個冒號,在這里不存在“->”符號
 
好喇,大家又不是笨蛋,自己看看官方的hello.lua就能發(fā)現很多知識了。

相關文章

  • Lua數據類型介紹

    Lua數據類型介紹

    這篇文章主要介紹了Lua數據類型介紹,本文講解了Lua中的nil(空)、boolean(布爾)、number(數字)、string(字符串)、table(表)、function(函數)、thread(線程)、userdata(自定義類型)等數據類型,需要的朋友可以參考下
    2014-12-12
  • Lua中的元表(metatable)、元方法(metamethod)詳解

    Lua中的元表(metatable)、元方法(metamethod)詳解

    這篇文章主要介紹了Lua中的元表(metatable)、元方法(metamethod)詳解,本文對它做了詳細講解,并給出實例來說明,需要的朋友可以參考下
    2014-09-09
  • C++中調用Lua配置文件和響應函數示例

    C++中調用Lua配置文件和響應函數示例

    這篇文章主要介紹了C++中調用Lua配置文件和響應函數示例,本文使用Lua文件作為配置文件,并寫了幾個響應函數以便在C++中使用,需要的朋友可以參考下
    2015-07-07
  • Lua基礎之運算符的使用示例

    Lua基礎之運算符的使用示例

    今天小編就為大家分享一篇關于Lua基礎之運算符的使用示例,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-12-12
  • 如何使用Vim搭建Lua開發(fā)環(huán)境詳解

    如何使用Vim搭建Lua開發(fā)環(huán)境詳解

    這篇文章主要給大家介紹了關于如何使用Vim搭建Lua開發(fā)環(huán)境的相關資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-02-02
  • Lua教程(二):C++和Lua相互傳遞數據示例

    Lua教程(二):C++和Lua相互傳遞數據示例

    這篇文章主要介紹了Lua教程(二):C++和Lua相互傳遞數據示例,本文主要講解了基本數據類型的傳遞,比如整形(int)、字符串(string)、數字(number)及bool值,需要的朋友可以參考下
    2014-09-09
  • Lua協(xié)同程序(COROUTINE)運行步驟分解

    Lua協(xié)同程序(COROUTINE)運行步驟分解

    這篇文章主要介紹了Lua協(xié)同程序(COROUTINE)運行步驟分解,本文著重分解協(xié)同程序的運行步驟,需要的朋友可以參考下
    2015-01-01
  • Ruby類實例變量、類實例方法和類變量、類方法的區(qū)別

    Ruby類實例變量、類實例方法和類變量、類方法的區(qū)別

    這篇文章主要介紹了Ruby類實例變量、類實例方法和類變量、類方法的區(qū)別,本文探討一下他們的定義和基本的使用場景,需要的朋友可以參考下
    2015-04-04
  • Lua中使用table實現的其它5種數據結構

    Lua中使用table實現的其它5種數據結構

    這篇文章主要介紹了Lua中使用table實現的其它5種數據結構,本文用table為基礎,實現了數組、鏈表、隊列、集合等數據類型,需要的朋友可以參考下
    2014-09-09
  • 使用Lua作為C語言項目的配置文件實例

    使用Lua作為C語言項目的配置文件實例

    這篇文章主要介紹了使用Lua作為C語言項目的配置文件實例,本文用Lua創(chuàng)建了一個配置文件,然后在C言語中解析它,需要的朋友可以參考下
    2015-04-04

最新評論

山阴县| 深圳市| 电白县| 闽侯县| 台中市| 广水市| 抚顺县| 道孚县| 涟水县| 儋州市| 响水县| 新竹市| 南召县| 哈尔滨市| 保德县| 陇南市| 巫山县| 丹东市| 商南县| 武陟县| 定边县| 于都县| 广河县| 泰州市| 布拖县| 三河市| 利津县| 葵青区| 保德县| 泰和县| 佛山市| 宾阳县| 阆中市| 靖边县| 正镶白旗| 揭东县| 富民县| 布尔津县| 舒城县| 绩溪县| 青田县|