最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【系列】潛水黨的簡單lua教程一

2023-06-12 15:45 作者:未晞_a  | 我要投稿

原本打算在貼吧發(fā)的,但帖子發(fā)出去就被刪了,原因我也不清楚,最后還是決定在b站發(fā)一下,還是希望可以幫助那些有興趣的新人來入坑lua作圖。


其實貼吧里也有不少lua作圖的教程了,包括ydwe的官博也有l(wèi)ua的入門教程。

但實際上我在當(dāng)初看這些內(nèi)容的時候也是一知半解,完全不知道從什么地方下手。

本人潛水多年,當(dāng)初在小白階段也從貼吧學(xué)到了許多知識,因此想著有機會回報一下米娜桑。

帖子的內(nèi)容也基本都是個人理解,如有錯誤可以指正。

?

關(guān)于lua作圖的一些基本知識,這些也都有許多人講過,可以在吧內(nèi)搜索lua關(guān)鍵詞找到相關(guān)帖子,這里我不再重復(fù)。

?

最萌小汐提供的lua作圖教程鏈接:https://tieba.baidu.com/p/2878085567?pn=1

此教程僅提供了如何使用編輯器來進行l(wèi)ua代碼的編寫。

?

這里我便提供如何在其他工具中寫好lua腳本,然后導(dǎo)入地圖的方法。

?

能夠編寫腳本的工具有很多,這里我只推薦三個工具:

記事本:這個基本大家的電腦內(nèi)都會自帶的。

Notepad++:支持多開文本,批量替換字符等等功能,我經(jīng)常用于編輯單個文件。

Vs code:主要的代碼編輯器,個人看法是notepad++的上位替代品,相對于notepad++來說要復(fù)雜一些。

?

長話短說,之后就是vs code的作圖環(huán)境配置了。

首先是中文化界面方法:https://jingyan.baidu.com/article/64d05a023e7a479f54f73b03.html

其次是學(xué)會如何安裝插件:https://jingyan.baidu.com/article/cdddd41caac56512ca00e113.html

?

上面兩篇教程看完之后,就需要安裝以下兩個插件:


還有兩個可選插件建議安裝:


這兩個其實也不是可選吧,我個人覺得其實是必選插件。

至少安裝完了之后寫代碼確實很方便。

?

作圖環(huán)境配置完成之后,就可以開始作圖了。

?

然后這里提一下w3x2lni這個工具。

當(dāng)你通過編輯器新建一張w3x地圖文件之后,便可以用w3x2lni工具來將地圖文件進行解包/優(yōu)化/打包。

可以通過官博的下載頁面來下載w3x2lni這個工具。

使用方法也很簡單:

將w3x文件拖進去,點擊第一個lni按鈕就可以將地圖文件解壓成一個新的目錄文件夾。

將目錄文件夾拖進去,點擊第三個obj按鈕就可以將文件夾打包成w3x地圖文件。

非常的快捷方便。

?

Ydwe官博:http://www.ydwe.net/


以上內(nèi)容全部了解完畢之后,便是我踩過的一些坑,用于提醒還未了解的新人。


英萌下載鏈接:https://github.com/actboy168/MoeHero

打不開看這:https://pan.baidu.com/s/1wgD_gNGjzPinZMfD_3CfVg

提取碼:ec4e

?

首先,新人不要去嘗試看英萌的代碼,英萌本身的門檻是很高的。

尤其是英萌的代碼里并沒有寫很多注釋。

如果你只是新手,然后想要通過學(xué)習(xí)英萌里面的東西,來提高自己對于lua作圖的理解。

那這其中困難程度不亞于讓你以小學(xué)三年級的水平去解大學(xué)的方程式。


我不否認有的人就是天賦異稟,理解能力高超,自學(xué)三天不到就成為巨佬。

但你怎么肯定,那個人就是你呢?

當(dāng)然了,這里并不是說讓你們不要去看。

而是說,等你以后技術(shù)進步了,再回過頭去看英萌,這樣才能讓你有更多的收獲。

與其去看你們根本無法理解的英萌,不如先了解一下lua這個輕量化的腳本語言如何?

?

首先是變量使用規(guī)則:

1、可以包含字母、數(shù)字、下劃線,但不能以數(shù)字開頭。

?

例:

a1 = 1

1a = 1

-- 其中 1a會報錯,并且無法成功賦值。

?

2、變量名區(qū)分大小寫,即x與X是完全不同的兩個變量。

?

例:

x = 1

X = 2

print(x, X) -- 輸出結(jié)果:1, 2

?

3、變量名的長度沒有任何限制。

?

例:

abcdefghijklmnopqrstuvwxyz = 1

print(abcdefghijklmnopqrstuvwxyz) -- 輸入結(jié)果:1

?

?

4、變量不需要去聲明類型,jass里需要以類型+名稱的方式來聲明。

?

例:

// integer是jass里的整數(shù)類型

Jass:integer num = 1?


-- 無需類型即可直接聲明

Lua:num = 1?

?

5、變量可以在任何地方聲明且賦值。

lua的變量想在哪里寫就在哪里寫,而jass不同。

?jass里全局變量需要在globals范圍內(nèi)聲明,局部變量必須在函數(shù)內(nèi)頂部聲明。


例:

全局變量:

globals

integer num

endglobals


局部變量:

function init takes nothing returns nothing

?// 必須在函數(shù)內(nèi)先置頂聲明,否則報錯無法運行

local integer num

num = 1 // 再賦值

endfunction

?

6、全局變量可以不用聲明便可以直接使用,但會直接返還為nil。

?

例:

print(num) -- 輸出結(jié)果:nil

?

nil等于jass里的null,等于觸發(fā)器里的沒有單位、沒有技能、沒有XX。

也可以理解為空。

?

7、變量可以被重新聲明為新的類型。

?

例:

local num = 1

print(num) -- 輸出結(jié)果:1

?

local num = ‘王大錘’

print(num) -- 輸出結(jié)果:王大錘

但這樣反復(fù)的重新聲明為新的類型,在地圖代碼逐漸增多之后,會導(dǎo)致你根本記不清當(dāng)前變量到底是什么類型,所以盡可能的避免且少用重新聲明。

?

同時lua里面提供了一個type函數(shù),它的作用是將變量的類型轉(zhuǎn)換為字符串

?

例:

num = 1

print(type(num)) -- 輸出結(jié)果:number (類型:數(shù))

-- 在lua里面,沒有整數(shù)(integer)和實數(shù)(real)的概念,整數(shù)和實數(shù)統(tǒng)稱為數(shù),即number

?

num = ‘王大錘’

print(type(num)) -- 輸出結(jié)果:string(類型:字符串)


8、應(yīng)當(dāng)盡可能的避免使用全局變量,改用局部變量

頻繁使用全局變量,亦有可能會導(dǎo)致命名沖突的問題,且lua的變量命名無需填寫類型,更是加大了這種錯誤產(chǎn)生的概率。


直接編寫代碼與觸發(fā)器的區(qū)別就在于,代碼的容錯率很低。


9、局部變量的一些解釋

ydwe里提供的逆天局部變量,嚴格來說并不能算真正意義上的局部變量,當(dāng)然這個說法也不一定對,只是我個人的一些淺薄理解。


總之如果之前習(xí)慣了用逆天局部變量的人,一定要改變一些使用習(xí)慣。


原本的ydwe里面,逆天局部變量可以做到:

if (條件為真) then

loc_a = 觸發(fā)單位

else

loc_a = 技能目標(biāo)

end

(這里的示例是隨便寫的,大概是這么個意思。)


這個時候你輸出 loc_a 會得到 (觸發(fā)單位 or 技能目標(biāo)?)任意其一

但如果你在lua里面寫:

if (true)then

local a = 觸發(fā)單位

else

local a = 技能目標(biāo)

end

這個時候你輸出 a 只會得到(nil),即空。


正確的寫法如下:

local a = 技能目標(biāo)

if (true) then

a = 觸發(fā)單位

end

這樣你就能得到 (觸發(fā)單位 or 技能目標(biāo)?)任意其一

因為你在if條件里面定義的局部變量,在外面是獲取不到的,你只能先聲明,再定義。


今天就先更這些,其他的暫時沒想到,等下次更新再補上。

【系列】潛水黨的簡單lua教程一的評論 (共 條)

分享到微博請遵守國家法律
东山县| 孟州市| 师宗县| 隆尧县| 阳春市| 长乐市| 朝阳县| 辛集市| 沙湾县| 托克逊县| 澎湖县| 莫力| 玉溪市| 襄垣县| 白水县| 华容县| 逊克县| 北京市| 遂平县| 体育| 琼海市| 五指山市| 永福县| 衢州市| 庄河市| 双柏县| 青神县| 邯郸市| 清水河县| 剑河县| 阿瓦提县| 榆林市| 丰顺县| 宣武区| 广丰县| 西丰县| 瓦房店市| 镇远县| 黄陵县| 沈阳市| 上高县|