一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Lua - Cocos2d-x中調(diào)用Lua及HelloWorld.lua源碼分解

Cocos2d-x中調(diào)用Lua及HelloWorld.lua源碼分解

2019-11-23 17:56Lua教程網(wǎng) Lua

這篇文章主要介紹了Cocos2d-x中調(diào)用Lua及HelloWorld.lua源碼分解,本文最后總結(jié)了一些Lua的語(yǔ)法,需要的朋友可以參考下

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

 

復(fù)制代碼代碼如下:

#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腳本的方式有點(diǎn)奇怪,但是和LuaJava的加載方式很像(我喜歡,噗)。
也就是說,我們要執(zhí)行某個(gè)lua腳本的話,就是用上面這段代碼了,不解釋,不好解釋(難道要我解釋源碼?噗)。

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

 

復(fù)制代碼代碼如下:

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

Cocos2d-x中調(diào)用Lua及HelloWorld.lua源碼分解

延伸 · 閱讀

精彩推薦
  • LuaLua教程(二):基礎(chǔ)知識(shí)、類型與值介紹

    Lua教程(二):基礎(chǔ)知識(shí)、類型與值介紹

    這篇文章主要介紹了Lua教程(二):基礎(chǔ)知識(shí)、類型與值介紹,本文講解了Hello World程序、代碼規(guī)范、全局變量、類型與值等內(nèi)容,需要的朋友可以參考下 ...

    腳本之家5922020-04-28
  • LuaLua和C語(yǔ)言的交互詳解

    Lua和C語(yǔ)言的交互詳解

    這篇文章主要介紹了Lua和C語(yǔ)言的交互詳解,Lua和C語(yǔ)言通過棧完成交互,本文結(jié)合代碼實(shí)例詳細(xì)講解了交互的方法,需要的朋友可以參考下 ...

    果凍想3702020-04-14
  • LuaLua簡(jiǎn)介、編譯安裝教程及變量等語(yǔ)法介紹

    Lua簡(jiǎn)介、編譯安裝教程及變量等語(yǔ)法介紹

    這篇文章主要介紹了Lua簡(jiǎn)介、編譯安裝教程及變量等語(yǔ)法介紹,本文同時(shí)講解了lua注釋語(yǔ)法、Lua命令行方式等內(nèi)容,需要的朋友可以參考下 ...

    junjie3632020-04-14
  • LuaLua實(shí)現(xiàn)__add方法重載示例

    Lua實(shí)現(xiàn)__add方法重載示例

    這篇文章主要介紹了Lua實(shí)現(xiàn)__add方法重載示例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下 ...

    腳本之家7452020-04-24
  • LuaLua中的元方法__newindex詳解

    Lua中的元方法__newindex詳解

    這篇文章主要介紹了Lua中的元方法__newindex詳解,本文講解了查詢與更新、監(jiān)控賦值、通過table給另一個(gè)table賦值等內(nèi)容,需要的朋友可以參考下 ...

    笨木頭8872020-04-09
  • Lua深入探究Lua中的解析表達(dá)式

    深入探究Lua中的解析表達(dá)式

    這篇文章主要介紹了深入探究Lua中的解析表達(dá)式,對(duì)于其語(yǔ)法部分的說明和示例都超詳細(xì),極力推薦此文!需要的朋友可以參考下 ...

    腳本之家3542020-05-05
  • LuaLua中計(jì)算、執(zhí)行字符串中Lua代碼的方法

    Lua中計(jì)算、執(zhí)行字符串中Lua代碼的方法

    這篇文章主要介紹了Lua中計(jì)算、執(zhí)行字符串中Lua代碼的方法,類似JavaScript中eval函數(shù)的功能,在Lua中也可以實(shí)現(xiàn),需要的朋友可以參考下 ...

    腳本之家6322020-04-30
  • LuaLua中table庫(kù)函數(shù)方法介紹

    Lua中table庫(kù)函數(shù)方法介紹

    這篇文章主要介紹了Lua中table庫(kù)函數(shù)方法介紹,本文講解了concat、insert、maxn、remove、sort、foreachi等方法,需要的朋友可以參考下 ...

    腳本之家2502020-04-17
主站蜘蛛池模板: 欧美另类变态 | 成人久久网站 | 幻女free性zozo交体内谢 | 男女操bb | 精品国产福利在线观看一区 | 免费aⅴ在线 | 日本888 xxxx| 女人与zzzooooxxx | 男人的天堂视频 | 成年人免费观看 | 明星ai人脸替换脸忘忧草 | 无套内射在线观看THEPORN | 色婷婷六月丁香在线观看 | 色伦网 | 国产免费精彩视频 | 蝴蝶传媒3o45| 西野翔全部作品在线观看 | 婷婷麻豆| 日韩精品一区二区 | 欧美男同互吃gay老头 | 精品久久久噜噜噜久久久app | 天莱男模gary | 久久99国产亚洲高清观着 | 久久99re热在线播放7 | 国产精品吹潮香蕉在线观看 | 国产四虎 | 亚洲精品国产在线网站 | 午夜电影三级还珠格格 | 高清在线看 | 欧美多gayxxxx | 国产高清久久 | 4虎影院永久地址www | 男人吃奶动态图 | 鬼畜重口高h合集长短篇 | 欧美性videossex丝袜 | 操破苍穹h| 国产视频一区二 | 精东影业传媒全部作品 | 男女男精品视频网站 | 网友自拍咪咪爱 | 九九在线精品亚洲国产 |