1《游戏脚本高级编程》之命令脚本的随想
最近在閱讀《游戲腳本高級(jí)編程》,這本書的內(nèi)容涵蓋很廣,講述了解釋器在游戲領(lǐng)域的一個(gè)實(shí)現(xiàn),很適合學(xué)習(xí)編譯原理,虛擬機(jī)設(shè)計(jì)。如果有同學(xué)看《龍書,虎書》等看的云里霧里,可以先以此書接下地氣,不至于喪失了信心,以及繼續(xù)學(xué)下去的動(dòng)力。
????????好回到命令腳本。
大家有沒有想過同樣是文本,同樣是由主程序讀取,然后按文本文件的邏輯執(zhí)行,命令腳本與配置文件的差別?
命令腳本是不涉及到變量,循環(huán),條件邏輯的腳本。我們以一個(gè)創(chuàng)建窗口后移動(dòng)窗口,在閃爍窗口的功能來舉例,通常格式內(nèi)容如下:
script_create_windows(0,0) script_move_windows(12,34) script_windows_hide(1) script_sleep(1) script_windows_hide(0)或者是這樣:
script_create_windows 0 0 script_move_windows 12 34 script_windows_hide 1 script_sleep 1 script_windows_hide 0配置文件一般是:
windows_first_pos_x = 0 windows_first_pos_y = 0windows_move_pos_x = 12 windows_move_pos_y = 34 sleep_time = 1 windows_flash = 1兩者同樣沒有 高級(jí)語言中的 本地遍歷,也沒有邏輯。
其實(shí)他們的主要差別就在于 命令腳本中 的命令對(duì)應(yīng)的是主程序里面的一個(gè)個(gè)函數(shù),或者你可以理解成API , 命令腳本按照順序執(zhí)行 各個(gè)API;而配置文件則是沒有順序的,邏輯的執(zhí)行順序被包含在主程序中,配置文件只是單純的鍵值對(duì),改變配置文件每行的順序,不會(huì)改變程序的行為。(當(dāng)然這里排除那些高級(jí)配置文件,他們也支持變量,循環(huán),條件邏輯,這種配置文件其實(shí)就是腳本)。
? ? ? ? PS:回想起當(dāng)時(shí)做綠色征途時(shí),由于對(duì)Lua的粗淺掌握,把Lua就當(dāng)成了命令腳本,然后VC編寫“粘合函數(shù)”,也能做出個(gè)自動(dòng)升級(jí)到70級(jí)的 輔助程序。缺點(diǎn)自然是一大堆,例如腳本必須從新手村開始,如果中途游戲崩了,就不支持從腳本中間運(yùn)行,因?yàn)橐粋€(gè)是沒有編寫太多獲取人物任務(wù)完成情況等API,當(dāng)時(shí)也不會(huì)Lua的 流程控制,條件邏輯的編寫。
總結(jié)
以上是生活随笔為你收集整理的1《游戏脚本高级编程》之命令脚本的随想的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。