-
-
toymaker
-
toymaker
- 等級:
|
#3
得分:40
回復(fù)于:
2004-03-17 12:33:09
談?wù)勛约嚎捶ǎ?br>
有關(guān)腳本命令你可以自己寫,,也就是自己定義你自己的,,當然可以用一些公用的腳本編輯器。
對于公用的我沒有什么研究,,這里就簡單說說如何自己寫一些簡單腳本:
(以RPG為例)
一個RPG必備的幾個元素就是引擎,、地圖編輯器、腳本,。引擎完成整個游戲的初始化和過程的運轉(zhuǎn)(同時也要保證對地圖文件,,腳本文件的讀取工作)。地圖編輯器就不說了,,直接說腳本:
我寫過一個小的RPG游戲,,可以自己定制自己的腳本并通過解釋腳本命令來完成一些控制工作。舉一個簡單的例子:
Map(地圖名),;
這就是我自己定義的一個腳本,,功能就是選擇一個地圖文件作為場景。腳本編輯器完成的主要工作就是解釋腳本命令,,并通過引擎把結(jié)果顯示出來,。我的腳本編輯器大概的工作流程是
ifstream in("腳本文件名");
in.getline(controlcommand,sizeof(controlcommand),'(');
if(controlcommand=="Map")
{
in.getline(mapname,sizeof(mapname),')');
MapManageFunction(mapname);//跳轉(zhuǎn)到專門處理map腳本的函數(shù)中執(zhí)行
}
else(controlcommand=="其他的命令")
{
//其他命令處理;
}
大概的流程就是這樣,然后再MapManageFunction()函數(shù)中實現(xiàn)調(diào)用引擎,讀取地圖,,往屏幕上畫圖等等工作,,這樣就解釋了Map這個腳本命令。
當然還要有其他的腳本來控制人物的顯示,,NPC的對話,屏幕的淡入淡出等等一系列的東西,,這樣就會有一組命令,,通過這樣的一組命令就可以實現(xiàn)對游戲中的背景,人物和各種角色的初試化設(shè)定和控制,,實現(xiàn)整個游戲的劇情控制,。也是通過這種方法來完成一個游戲的具體實現(xiàn),即使相同的引擎,,通過不同腳本和地圖就可以作出一個完全不同的兩個游戲,。
具體有關(guān)腳本的東西我也是一家愚見,有什么不對的還要大家指教,。如果樓主還不了解的話就可以上金點時空down他們的圣劍2游戲源碼,,看看他們的腳本是怎么定義和運用的,相信會大有裨益的,!
|