Recrit
【捨丸&KID】如何調整對話框
這次要來介紹如何調整NScripter的對話框,其實之前幾次的文字表現都是出現在對話框內,只是若我們沒有寫指令調整,NS就自動會用預設的數值,一般預設的對話框都是全畫面,先來看一看實際的例子:
範例
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
click
天譴寶寶說你好!
end
」
大家可以注意到背景的顏色變暗了,其實那是被覆蓋整個畫面的半透明對話框蓋住,當然在一般置作avg遊戲時,運用到全畫面的對話框機會很少,這時候就得來調整對話框了。另外注意,NScripter可以運用的對話框就只有一個,不像吉里吉里有多對話框的可能,下面我們就來介紹該如何調整對話框。
* 命令本體
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
setwindow為設定文字表現視窗的命令本體。
*define區塊和執行區塊都能夠使用。
在執行區塊中使用時,在此行之後的文字會如同所設定表示。
範例:
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
click
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
天譴寶寶說你好!
end
」
* 第一個文字的左上角座標
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
首先設定文字的開始位置。在此範例之中,遊戲畫面的左上角座標為(0,0),而第一行的第一個文字表現之位置其左上角座標為(20,15)。
* 每行文字數字和行數
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
此兩個數字分別設定每一行橫向的文字數字還有畫面中的行數。
在此範例中設定為橫向每一行23個文字,縱向16行。
* 文字的大小
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
設定表示文字的大小。
在此範例中設定為文字大小是26x26畫素。
* 文字間、行間間距
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
設定文字間和行間的間距。
在此範例中橫向的文字間間距設定為0畫素,而縱向的行間間距為2畫素。
* 文字的表現速度
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
此數字設定一個文字表現在畫面上後到下個文字表示出來之間的時間。
在此範例中指定為40ms(1000ms=1s)。
文字表示的速度也能夠用其他指令來變更。
* 表示選項(option)
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
決定文字表現選項的數值。1為ON,0為OFF。
第一個數字決定是否要強調文字。一旦切換成ON之後,文字會變得較粗體。
第二個數字決定是否要加上陰影。切換成ON之後文字會加上陰影。
在此範例之中,文字強調和陰影都被開啟。
文字表示選項是為了在帶有顏色的視窗上表示明亮的文字時能夠加強文字的辨識程度。當在白色底圖上表示黑色文字時便不是那麼需要可以將其切換成OFF。
* 設定window color
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
本數值設定視窗的基本顏色。利用#RRGGBB的RGB code來指定顏色(請參考p12)。
在此範例中輸入#bbbbbb指定為灰色。當顏色較淡的時候下面的圖像會比較容易看但是文字會變得就不容易閱讀。而顏色較濃時文字會較容易閱讀,而下面的圖像則會較難以看清。
隨著畫風和遊戲種類來調整濃淡即可。(必須意識到文字是否容易閱讀這件事情來設定顏色圖)
* 設定視窗左上角位置
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
本命令能夠設定視窗左上角的座標。
在此範例中,視窗由畫面的原點(X:0,Y:0)開始。
在使用下視窗模式的時候先使用繪圖軟體做出模擬的視窗畫面,設計出視窗的位置後在取得座標較簡單。
* 設定視窗右下角位置
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
本命令能夠設定視窗右下角的座標。
在此範例中視窗的終點位在座標(X:639,Y:479)
必須注意為何數值不是640,480。由於原點是從(X:0,Y:0)開始,因此在數值計算時也得將0算入,那麼x軸上第640個畫素則是座標639、y軸上第480個畫素則是座標。
* 讀取畫像帶入全畫面的形式
在讀取畫像的形式中會以畫像作為視窗來取代原本利用單一顏色塗滿的視窗。如果和α channel處理組合的話能夠做出各式各樣設計的視窗。
* 畫像的設定
setwindow 20,15,23,16,26,26,0,2,40,1,1,”:a;sys¥win.bmp”,0,0
設定想要作為視窗使用的畫像。
在此範例中,會以利用α channel處理過後sys資料夾中的win.bmp檔案作為視窗使用。
* 設定畫像左上角座標
setwindow 20,15,23,16,26,26,0,2,40,1,1,”:a;sys¥win.bmp”,0,0
設定配置畫像的位置。在此範例中,會將原點(0,0)和畫像的左上角重疊而配置。
由於使用畫像檔案因此大小已經固定所以不需要指定右下角的座標。當想要在全畫面模式中使用時請準備與畫面大小相符的畫像。
* 簡便地變更視窗的顏色或是畫像
每當為了變更視窗的底色或是畫像時,就要打一長串的setwindow指令實在是很麻煩。並且一旦使用setwindow命令的話回想用的內文backlog就會被清理掉,而無法回到回想模式。因此為了這點而設計出能夠簡便地變更視窗底色和畫像的setwindow2命令。
* setwindow2命令
程式碼
setwindow2 #RGB code
setwindow2 “視窗畫像檔案名稱”
範例
setwindow2 #FFFFFF
setwindow2 “window2.bmp”
上面兩個例子,會各自表示為所指定的畫像和顏色。範例:
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
click
setwindow 20,15,23,16,26,26,0,2,40,1,1,#bbbbbb,0,0,639,479
天譴寶寶說你好!
setwindow2 #000000
天譴寶寶說你好!
end
」
この記事にコメントする
この記事へのトラックバック
- この記事にトラックバックする