一、dofile
格式:
dofile
("絕對路徑名")
dofile會載入絕對路徑中的lua檔案,並且執行。
--aa.lua檔案
print("aaaaaaaaaaaaaaaaaaa")
--test.lua檔案
輸出結果:
可以看到成功載入並且同時執行載入的lua檔案。
二、loadfile
格式:
loadfileloadfile只會載入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做的,原來是用最普通的觸控來實現的。感覺自己應該多思考多學習,不會的地方還是太多了,有些東西其實沒有自己想的那麼複雜,能用一些基本元素實現來實現的東西,自己有時候卻總是覺得是不是 不會 不懂,也可能是...