忍者ブログ

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

【捨丸&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。

 

那之前一直提到的標籤,到底是什麼咧?

 

  1. 標籤(Label)

 接在*(注意,半形)後面的文字被稱為標籤,是用來指定移動目標的東西。

 標籤有著用來處理故事劇情的移動、script處理的移動等重要任務。

 Nscripter會參照標籤名稱讓故事分歧,移動到執行處理的行列上,這點要搭配goto的指令,會在之後詳細說明。

 

 

*  標籤命名的規則

 

 在標籤名字中能夠使用的文字種類已經被限制住。

 在*後面的第一個文字只能使用半形英數文字和底線(_)。在這之後的文字能夠使用半形英數文字、底線(_)和阿拉伯數字。

 全形文字和底線(_)以外的符號無法使用。

 雖然在標籤之後的命名是自由的,但是如果能夠容易瞭解和記憶的話也夠避免script出錯。

 

 

*  標籤名稱範例

 使用連續的數字

 *a001

 *s_01

 使用連續的號碼等有順序的命名法就容易理解。

 

 配合故事裡的場景

 *bloodend

 *goodend

 配合場景輸入簡短的英文字當作標籤名稱。雖然容易聯想但是有過於複雜的難點。

 

 將場景image和號碼組合起來使用

 *day01

 *room01

 有著容易理解的優點,也推薦使用這種方法。

 

 

*  不好的標籤名稱範例

全形文字

 *序章

 *登場篇

 全形文字不能夠在標籤中使用

 第一個文字是阿拉伯數字

 *001

 *01mission

 

 使用底線(_)以外的符號

 +zenkai120%

 *sakana@apart

 底線(_)以外的符號都無法使用。

 

 標籤名稱能夠盡量簡單明瞭的話,就能夠避免之後許多不小心時犯的錯誤。

 

 

拍手[1回]

PR

この記事にコメントする

お名前
タイトル
メール
URL
コメント
絵文字
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
パスワード

この記事へのトラックバック

この記事にトラックバックする