游戲腳本的實現(xiàn)
游戲腳本的實現(xiàn)(6) 摘要: 本篇是游戲腳本的實現(xiàn)(5)的續(xù)篇。
事實上,創(chuàng)建可接受腳本的游戲引擎對于大多數(shù)的游戲而言,將產(chǎn)生出一個非常開放的源代碼以及高效率的項目。
事實上,創(chuàng)建可接受腳本的游戲引擎對于大多數(shù)的游戲而言,將產(chǎn)生出一個非常開放的源代碼以及高效率的項目。
游戲腳本的實現(xiàn)(3) 摘要:
MLS系統(tǒng)僅使用到數(shù)字:代表行為的編號,隨后條目的數(shù)量,以及代表條目數(shù)據(jù)的編號。計算機(jī)特別擅長處理數(shù)字的工作,但我們的需要更多。需要將腳本構(gòu)造成易于理解的文本行,并讓腳本編輯器將鍵入的文本轉(zhuǎn)變?yōu)槟_本系統(tǒng)可以處理的一系列數(shù)字。
在編輯一個腳本期間,并不處理任何數(shù)字方面的問題,所以編輯器的工作還包括加載數(shù)字并將它們轉(zhuǎn)換回易于閱讀理解的文本行。因此,也可以這么說,僅需要使用一系列的文本命令構(gòu)造一個腳本,然后使用腳本編輯器將這些命令轉(zhuǎn)換成代表它們數(shù)值,反之亦然。
在編輯一個腳本期間,并不處理任何數(shù)字方面的問題,所以編輯器的工作還包括加載數(shù)字并將它們轉(zhuǎn)換回易于閱讀理解的文本行。因此,也可以這么說,僅需要使用一系列的文本命令構(gòu)造一個腳本,然后使用腳本編輯器將這些命令轉(zhuǎn)換成代表它們數(shù)值,反之亦然。
游戲腳本的實現(xiàn)(2) 摘要: 因為ENREY_RULE結(jié)構(gòu)僅包含了行為和條目的規(guī)則,所以需要另外的結(jié)構(gòu)數(shù)組去存儲每個條目的數(shù)據(jù)。這些新的結(jié)構(gòu)包括了在條目中所使用的文本、布爾值、多重選項,我們使用結(jié)構(gòu)體ENTRY來表示。
在處理腳本條目的過程中,當(dāng)一個腳本出現(xiàn)了許多條目時,最麻煩的問題也就接踵而來。腳本中的每個行為都要求一個相匹配的ENTRY_RULE結(jié)構(gòu),其依次包含了一定數(shù)量的ENTRY結(jié)構(gòu)。為了更好地處理一個腳本的結(jié)構(gòu),還需要其他的結(jié)構(gòu)來記錄屬于腳本行為的每個條目,我們將它命名為SCRPT。
在處理腳本條目的過程中,當(dāng)一個腳本出現(xiàn)了許多條目時,最麻煩的問題也就接踵而來。腳本中的每個行為都要求一個相匹配的ENTRY_RULE結(jié)構(gòu),其依次包含了一定數(shù)量的ENTRY結(jié)構(gòu)。為了更好地處理一個腳本的結(jié)構(gòu),還需要其他的結(jié)構(gòu)來記錄屬于腳本行為的每個條目,我們將它命名為SCRPT。
游戲腳本的實現(xiàn)(1) 摘要:
創(chuàng)建一個角色扮演游戲項目時,會發(fā)現(xiàn)在源碼中編寫游戲相關(guān)信息十分困難(這樣做也是非常魯莽的)。最好的辦法就是使用外部數(shù)據(jù)源(類似于程序的代碼),稱之為游戲腳本(例如對話)。以這種方式,可以控制游戲的流程并節(jié)省寶貴的時間,因為不需要在每次做出改變后重新進(jìn)行編譯。
當(dāng)創(chuàng)建游戲時,游戲腳本與所編寫的程序代碼非常類似,只是游戲腳本相對于游戲引擎而言是外部的。正因為它們是外部的,所以才可以迅速地對腳本做出更改,而不用重新編譯整個游戲引擎。否則對于一個超過100萬行代碼的項目,僅僅為了改變一個對話行就要重新編譯整個項目。
當(dāng)創(chuàng)建游戲時,游戲腳本與所編寫的程序代碼非常類似,只是游戲腳本相對于游戲引擎而言是外部的。正因為它們是外部的,所以才可以迅速地對腳本做出更改,而不用重新編譯整個游戲引擎。否則對于一個超過100萬行代碼的項目,僅僅為了改變一個對話行就要重新編譯整個項目。
posted on 2007-11-04 01:32 lovedday 閱讀(1277) 評論(0) 編輯 收藏 引用 所屬分類: ■ RPG Program

