Recrit
【捨丸&KID】NS架構
在這一章節我們要介紹的是0.txt裡最基本的架構,首先要請大家複習一下前幾次提到的最簡範例:
「
*define
game
*start
天譴寶寶說你好@
」
其中大家可以測試一下 *define、 game、*start這三個標籤,只要隨便更動一個字母,NScripter就無法正常運行了,
這裡名稱為*define的標籤是一個特殊的標籤,在Nscripter啟動時是必須的標籤。從*define到game之間就稱之為define區,define區是用來宣告Nscripter初期設定(從最初就設定,通常到最後都不會改變或是不好改變的設定)。初學者在這個地方什麼都不需要寫,NScripter程式就會按照預設的數值去運行,在這裡先初步說明一下預設設定的數值。
表 default設定
文字視窗 全畫面表示
畫面大小 640 X 480
字型 26x26畫素的新細明體
橫23文字縱16文字
行間 1 pixel(畫素)
粗體 有
陰影 有
文字表現速度 20ms(0.02s)
文字視窗顏色 #999999
有鑑於現在大家的螢幕都越來越大,解析度的數值也都開始突破天際,640X 480的畫面實在是小了點,在這邊先說明如何將畫面改成800 X 600,範例如下:
「
;mode800
*define
game
*start
天譴寶寶說你好@
」
對,就只要在最前面加;mode800這樣就行了,不用調數值,不用override,這就是NScripter!!
那如果改成;mode1024能不能將畫面改成1024 X 768呢? 很抱歉,不行!
NScripter因為腳本比較簡單,許多功能也就無法任意更動了,高橋沒給的,你不能用,但雖然沒有1024 X 768,320 X 240 小視窗可是有支援的,一樣把最前面改成;mode320就好啦。
Game這指令宣告的意義是:在這個指令之前皆為define區,在這之後變開始進行遊戲的處理。並且在define區塊的最後一定得輸入這個指令。
*start這個標籤表示開始進入執行區塊。
在這個標籤之後都被稱為執行區塊,如果輸入全形文字則會被表示在畫面上,例如”天譴寶寶說你好”,而半形文字則會被當成指令來處理例如” @”。
由於半形文字都會被當成指令處理,因此無法拿來當作被表現的文字,若真的想要表現英文字的時候請輸入全形文字或是使用圖像,或著是要在半形文字之前加上">",否則一不注意就會出現亂碼,整個程式就會爆炸了~。
「
*define
game
*start
>Scourge baby says hello! @
」
注意在半形文字跟@指令之間要加空白鍵,否則會連@也變成文字了,還有大家可以發現顯現出來如下
空白間隔不見了o.0 我想這是因為全形半形空白間隔輸入的關係,筆者發現第一個用半形,之後都得用全形空白才可以,所以如果真的要使用半形還是以單字為主吧!
那為什麼就算都照做現在執行到最後還是一樣會出現錯誤訊息呢?
很簡單,只要在最後多加一個end指令:
「
*define
game
*start
天譴寶寶說你好@
end
」
噹噹~~錯誤訊息消失了,也可以試試看把end改成return
噹噹~~現在無法結束程式了吧,因為return指令會讓程式一直重頭跑起,該怎麼辦!?按視窗右上角X方塊就好啦,這是很重要的知識,因為做遊戲難免會寫出無窮迴圈,這會讓程式一直跑,之後遇到這種問題要嘛拔電源關機,要嘛就按右上角的X。
那之前一直提到的標籤,到底是什麼咧?
- 標籤(Label)
接在*(注意,半形)後面的文字被稱為標籤,是用來指定移動目標的東西。
標籤有著用來處理故事劇情的移動、script處理的移動等重要任務。
Nscripter會參照標籤名稱讓故事分歧,移動到執行處理的行列上,這點要搭配goto的指令,會在之後詳細說明。
* 標籤命名的規則
在標籤名字中能夠使用的文字種類已經被限制住。
在*後面的第一個文字只能使用半形英數文字和底線(_)。在這之後的文字能夠使用半形英數文字、底線(_)和阿拉伯數字。
全形文字和底線(_)以外的符號無法使用。
雖然在標籤之後的命名是自由的,但是如果能夠容易瞭解和記憶的話也夠避免script出錯。
* 標籤名稱範例
使用連續的數字
*a001
*s_01
使用連續的號碼等有順序的命名法就容易理解。
配合故事裡的場景
*bloodend
*goodend
配合場景輸入簡短的英文字當作標籤名稱。雖然容易聯想但是有過於複雜的難點。
將場景image和號碼組合起來使用
*day01
*room01
有著容易理解的優點,也推薦使用這種方法。
* 不好的標籤名稱範例
全形文字
*序章
*登場篇
全形文字不能夠在標籤中使用
第一個文字是阿拉伯數字
*001
*01mission
使用底線(_)以外的符號
+zenkai120%
*sakana@apart
一底線(_)以外的符號都無法使用。
標籤名稱能夠盡量簡單明瞭的話,就能夠避免之後許多不小心時犯的錯誤。
この記事にコメントする
この記事へのトラックバック
- この記事にトラックバックする