【正文】
FOR有兩種作用,一個(gè)是循環(huán),一個(gè)是迭代。FOR循環(huán)也是腳本語(yǔ)言中經(jīng)常使用的結(jié)構(gòu)。比如上面的表格,如果想一次性的打印所有獲得獎(jiǎng)勵(lì)的人的角色名就可以這樣寫(xiě):Local s = ‘’for i = 1 , 10 do if player:GetName = = PrizeName[i].name then s = s ..PrizeName[i].name endprint(s) 如果這個(gè)腳本在抗戰(zhàn)游戲中運(yùn)行,得到的結(jié)果是:“藍(lán)色多瑙河我是冠軍挪威的森林江湖……帥貓”這一系列的字符串。從這里我們可以看到FOR循環(huán)在腳本中兩個(gè)最主要的功能:,當(dāng)然這個(gè)結(jié)構(gòu)還可以做迭代器,比如在抗戰(zhàn)中用到的按隊(duì)伍名稱遍歷隊(duì)伍for k , v in doend這就是按名稱遍歷玩家隊(duì)伍列表,屬于迭代結(jié)構(gòu),有關(guān)更深入的迭代和循環(huán)大家可以深入學(xué)習(xí)LUA語(yǔ)言。這里不再多述。7 LUA語(yǔ)言實(shí)現(xiàn)目標(biāo)和邏輯實(shí)際在LUA腳本中,最重要的并不是如何去使用該語(yǔ)言去寫(xiě)一個(gè)腳本,大家都應(yīng)該明白,一個(gè)最蹩腳的程序員恐怕也能夠比腳本策劃更熟練的應(yīng)用這個(gè)腳本語(yǔ)言。那么作為一個(gè)腳本策劃具體工作該做什么?實(shí)際最具體的工作就是設(shè)計(jì)一個(gè)流程并明確它的邏輯。比如很簡(jiǎn)單的一個(gè)對(duì)話,什么條件下出現(xiàn)這個(gè)對(duì)話?對(duì)話的幾率是多少?再?gòu)?fù)雜點(diǎn)的就是任務(wù)。玩家在什么情況下可以接到任務(wù)?做過(guò)該任務(wù)能不能接,已經(jīng)接了該任務(wù)但是沒(méi)完成能不能接,接了任務(wù)又放棄了能不能接?完成了這個(gè)任務(wù)還沒(méi)有領(lǐng)取獎(jiǎng)勵(lì)的時(shí)候能不能接?這就需要一系列的流程判斷。任務(wù)判斷是一個(gè)最簡(jiǎn)單,最基礎(chǔ)的流程,大的任務(wù)流程是由許多這樣的流程來(lái)完成的比如現(xiàn)在很多游戲里都有的連續(xù)性做任務(wù)獲得經(jīng)驗(yàn)。就是由一系列連續(xù)的任務(wù)構(gòu)成的而且這些任務(wù)可以重復(fù)做,這里邊的邏輯就要比單一任務(wù)復(fù)雜很多。有些比較大的系統(tǒng)實(shí)際都是一系列復(fù)雜的流程判斷,所以在這些系統(tǒng)里不但要寫(xiě)出玩法,獎(jiǎng)勵(lì),更重要的是這中的流程。盡量形成流程圖。8 需求接口的提出和使用光有腳本語(yǔ)言,不能形成腳本,腳本語(yǔ)言只能進(jìn)行邏輯性的判斷或者運(yùn)算。這些運(yùn)算和判斷如果想在游戲里產(chǎn)生效果就需要把腳本和游戲引擎連接起來(lái)。這就是程序接口。當(dāng)我們想實(shí)現(xiàn)一個(gè)功能的時(shí)候,首先要讓程序給出一個(gè)程序接口,然后按這些接口來(lái)擴(kuò)展,最終實(shí)現(xiàn)指定的功能。所以腳本策劃要明白自己想干什么,能不能實(shí)現(xiàn),然后讓向程序提出需求,得到對(duì)應(yīng)的接口。9 結(jié)束語(yǔ)腳本策劃初期非常容易發(fā)展。你有明確的學(xué)習(xí)努力目標(biāo)——學(xué)習(xí)并應(yīng)用腳本語(yǔ)言,這就比系統(tǒng)策劃和數(shù)值策劃都要容易上手。但是如果只局限在腳本的范圍內(nèi)不進(jìn)去到后期就沒(méi)有發(fā)展空間。所以腳本策劃不能一心只想寫(xiě)好自己的腳本。寬闊的思路厚重的積累都是做好一個(gè)腳本策劃并發(fā)展自身的必要條件。腳本策劃是最有意思,作為腳本策劃你可以親自動(dòng)手實(shí)現(xiàn)很多想法,比如界面,比如BOSS設(shè)計(jì),比如副本,或者是戰(zhàn)場(chǎng)等等。腳本語(yǔ)言是腳本策劃的工具,如果想做好自己的工作,如果想在腳本策劃方面發(fā)展,那么請(qǐng)熟練應(yīng)用基礎(chǔ)的LUA語(yǔ)言。重點(diǎn)推薦《LUA學(xué)習(xí)手冊(cè)》謝謝大家!8 / 8