Cocos2d Lua之Lua檔案的載入與執行

2021-07-13 15:16:43 字數 1636 閱讀 6926

一、dofile

格式:

dofile

("絕對路徑名")

dofile會載入絕對路徑中的lua檔案,並且執行。

--aa.lua檔案

print("aaaaaaaaaaaaaaaaaaa")

--test.lua檔案
輸出結果:

可以看到成功載入並且同時執行載入的lua檔案。

二、loadfile

格式:

loadfile

("絕對路徑名")

loadfile只會載入lua檔案,並不執行,可以返回給乙個function型別,然後再想呼叫的時候再呼叫賦給的那個函式就可以了。

--test.lua檔案

fun()

輸出結果:

dofile是載入並執行,loadfile只載入不執行,兩者有個共性就是載入的lua檔案必須是絕對路徑,否則報錯。

三、loadstring

格式:

loadstring

("**")

loadstring個loadfile類似,也只負責載入,並不執行,同樣可以返回給乙個函式,讓這個函式去執行。

--test.lua檔案

fun = loadstring("local a = 10; return a + 20")

num = fun()

print

(num)

輸出結果:

loadstring主要用於更新遊戲,可以從伺服器直接把一段**匯入到loadstring中,通過loadstring載入,直接更新,而不用對遊戲重新打包了。

四、require

格式:

require

("相對路徑名")

require和dofile類似,載入並執行,但其路徑名必須是相對路徑,由於其他檔案中已經給定了當前的絕對路徑,比如我的已經指定到了src這個絕對路徑下,同時這裡的相對路徑是以「.」分割的,並且最後的lua檔案不帶檔案字尾名。因為require最大的好處就是可以搜尋目錄,並且會檢查該檔案是否重複載入,所以require是最常用的載入方式。

--test.lua檔案
輸出結果:

同樣可以在要載入的檔案中寫入乙個函式:

--aa.lua檔案

function

fun(a, b)

return

a * b

end

--test.lua檔案

num = fun(3, 5)

print(num)

輸出結果:

小結:

稍微總結一下這四種載入形式的異同

Cocos2d Lua之隨機數

不管是什麼語言,所生成的隨機數都是偽隨機數,是根據一定的計算法則求出來的。lua語言是利用兩個函式來生成隨機數 math.randomseed 值 提供種子值 math.random val1,val2 隨機生成乙個在val1和val2之間的隨機數,若全部預設,則預設生成0 1之間的隨機數,若只有乙...

Cocos2d lua 初識shader之四 描邊

原理 對於所有透明的畫素點,遍歷該畫素點周圍的所有畫素點,當有任意乙個畫素點非透明時,就將該畫素點置為描邊顏色。ps.在網上讀到一位前輩寫的方法是 遍歷所有不透明的畫素點四周,當有透明畫素點時,將該畫素點設定為描邊顏色 思路相反 這樣的做法會有些缺憾,結尾會放出比較圖。local vert attr...

Cocos2d lua 滑動選關效果

昨天看到前面的大佬在做這種效果,特意去請教了一下,剛開始以為是用pageview或者listview做的,原來是用最普通的觸控來實現的。感覺自己應該多思考多學習,不會的地方還是太多了,有些東西其實沒有自己想的那麼複雜,能用一些基本元素實現來實現的東西,自己有時候卻總是覺得是不是 不會 不懂,也可能是...