忍者ブログ

[PR]

×

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

【捨丸&KID】NS對話框文字表示(1)

 

 

大家好,今天所要講的內容是「如何在對話框裡表示文字」。對話框在AVG中是不可或缺的要件,舉凡人物對話甚至場景描述都會放在對話框裡,那麼要怎麼將想要的文字擺在對話框裡呢?

很簡單,大家還記得上一周的0.txt腳本內容嗎?

;mode800

*define

game

*start

 

天譴寶寶說你好@

End

 

這個「天譴寶寶說你好」就已經是在對話框裡了,請回憶一下上一周的介紹:

 

「*start這個標籤表示開始進入執行區塊。在這個標籤之後都被稱為執行區塊,如果輸入全形文字則會被表示在畫面上」

 

所謂表示在畫面上通通都是表示在對話框裡,一定有人問那怎麼沒看到框框?很簡單,依照NScripter的慣例,沒有寫就通通用預設。

記得第一回說明的default表嗎?裡面有提到 「文字視窗顏色#999999」。

#999999是RGB code,各利用兩個十六進位的數字來表現紅、綠、藍三個顏色。用肉眼看的話#999999是黑色,而NScripter在沒有載入背景圖的時候是呈現黑色,因此當然看不到囉。

注意,沒有背景跟放一張黑色圖背景是不一樣的,沒有放背景在做動態圖片時可能會留下殘像,這在以後講到比較進階的用法再說明。

 

那麼@這個符號是做什麼的呢?要測試很簡單,就把@delete掉就好啦,看看少了@會發現什麼事,請看下圖:

 

 

 

嗯?沒有圖啊?當然沒有圖,因為程式只有閃一下就消失了,我手沒這麼快,當然什麼都沒拍到。

@的功用呢,稱為「等待click」,程式進行到這個符號的時候,必須要點一下或按一個鈕才能進行下去。我們現在改一下程式碼:

 天譴寶寶說@你好@


或是

天譴寶寶說@

你好@

 請看看這兩個情況有什麼不同。

沒錯,一個有換行,一個沒換行,到了執行到@的時候都必須點一下。

在NScripter裡換行有兩種情況,一種是你在腳本裡換行,程式就自動幫你換,另一種是你的句子太長,程式會自動幫你換,用說的不清楚,改成下面程式碼試試(注意不斷行唷):

天譴寶寶說@天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說天譴寶寶說好@

 

句子太長出現error是很正常的事,讓我們再回想一下default表,其中有一句「橫23文字縱16文字」,這是什麼意思呢?

這表示對話框一行可以塞23個文字,總共有16行,超過這個字數的話就會出現文字超過對話框的error,因此必須換頁。換頁的符號是「\」

天譴寶寶說\你好@

 

把程式碼改成這個試試看,換頁是比較需要注意的小細節,因為常常有人對話寫得太奔放忘了換頁結果造成error。

 

再回到@,也許有人會說,那每次句子停頓都要加一個@,不是會累死,是沒錯,因此有個指令叫做clickstr,這個是放在define區的指令,範例如下

;mode800

*define

Clickstr"!?。」",2

game

*start

 

天譴寶寶說!你好。

天譴寶寶回答:嗄?

End

 

注意標點符號都要用全形。

Clickstr為命令的本體。「想讓它強制等待click的文字」之內所輸入的全形記號之後會產生強制等待click。因此在範例裡面,「!?。」」會有強制等待click的功能。

 

「強制行設定數字」「強制改頁行設定數字」為設定到那一行為止執行強制等待click功能,而從那一行開始會變更成等待改頁功能的參數。

 

 為了防止文章超出最大行數而產生error,從最大行數減掉「強制行設定數字」的行數之後,如果出現強制click的文字的話,不會執行強制等待click的功能,而是變成等待改頁功能。

 

 例如:最大行數為16而「強制行設定數字」為2的場合時,出現在1到13行的設定文字會有等待強制click功能,而14到16行的特定文字則是變成等待改頁功能。

 

雖然強制改頁的功能能夠減輕許多script上的作業時間,但是如果出現超過設定行數以上的長文章,仍然會引起最大行over flow error。

 

將「強制行設定數字」設定為2,但是超過三行以上都沒有出現強制click的設定文字時,仍會超過最大行數而引起error。

 可以利用將過長的文章切為兩半、把設定行數增加、手動輸入改頁控制記號的「\」等方法來處理。

 

 如果在奇怪的地方出現等待click、改頁記號而遇到困難時,可以在記號之前輸入「_」(下橫線)。輸入下橫線的話,在其之後的被設定為強制click的符號會被取消功能。

 

 像是「「咦?」」或是「搞什麼鬼呀!!」這樣連續出現設定文字的時候,只有最後那一個符號會有等待強制click、強制改頁的功能。

範例如下:

 

天譴寶寶說_!!你好_。。

天譴寶寶回答:嗄?

  

如果要在句子與句子中間加入空白行呢?

天譴寶寶說!你好。

 

 

天譴寶寶回答:嗄?


大家試試看就可以發現這是沒有用的,因為空白行會被視為沒有輸入任何指令,包括換行,正確的指令如下:

天譴寶寶說!你好。

br

br

天譴寶寶回答:嗄?

 

注意,br是半形,半形是指令,全形是文字。接下來還有一些稍微進階的指令,就等下次再說明囉。

 

 

拍手[5回]

PR

この記事にコメントする

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

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

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