Recrit
【捨丸&KID】如何放置SP圖像(2)
* 製作文字列SP
* 文字列SP的獨立命令
文字列SP利用圖像tag也能夠製作,最近的版本也新增了獨立命令。
將文字列製作成圖像檔,表示在畫面上的命令。
橫跨複數行的文字SP也可以用此命令作成。
程式碼
strsp SP號碼,文字列,左上角x座標,左上角y座標,橫向文字數目,縱向文字數目,文字寬,文字高,字間橫向間隔,行間縱向間隔,粗字flag,陰影flag(,顏色指定)…
範例
strsp 1,”出現在那邊的是¥她重要的……”,150,320,23,3,24,25,0,1,0,1,#FF0000,#FFFFFF (注意這邊不要用enter斷行)
strsp為命令本體,為STRingSPrite的縮寫,各種參數的排列方式和setwindow命令相似。
150,320為SP的左上角座標(x,y)。
23為橫向的文字列文字數,當到達最後時會切換到下一行。
3為縱向的文字行數。
24為文字寬。
25為文字高。
0為文字和文字間的橫向間隔。
1為行間和行間的縱向間隔。
0為粗字指定flag。(ON=1,OFF=0)
1為陰影指定flag。(ON=1,OFF=0)
#FF0000為文字顏色。
#FFFFFF為cell2號的文字顏色。(所謂cell2目前就當作滑鼠移動到上面時會出現的顏色)
當想要進行改行的時候請輸入「¥」(和文章改頁的時候是同樣的記號,請注意)。
關於表示字型可以由後述的spfont命令進行更改。
可藉由重複輸入顏色指定來作成複數cell的文字SP。
* 變更文字SP的字型
變更文字列SP字型跟文字大小的命令。
程式碼
spfont “字型名稱”,文字寬,文字高,橫向文字間隔,縱向行間間隔,粗字flag,陰影flag
範例
spfont “MS gothic”,24,25,0,1,0,1
spfont為命令本體,為SPriteFONT的縮寫。
“MS gothic”為所指定的字型名稱。
24為文字寬。
25為文字高。
0為文字和文字間的橫向間隔。
1為行間和行間的縱向間隔。
0為粗字指定flag。(ON=1,OFF=0)
1為陰影指定flag。(ON=1,OFF=0)
利用strsp命令所製作的文字列SP和利用畫像tag所設定的文字列SP皆可以利用此命令來設定字型。
* 文字列SP的移動
將利用文字SP命令作成的SP實際在畫面上移動看看。
可以利用for~next來輸入移動座標數值。而SP移動命令msp、amsp的x,y座標可以以變數輸入來使得其中的數值不斷替換,每經過一次迴圈便會將畫面更新一次這樣一來就可以讓其流暢移動。
「
;mode800
*define
clickstr"!?。」",2
game
*start
bg "BG\093.JPG",1
strsp 1,”出現在那邊的是¥她重要……”,150,320,23,3,24,25,0,1,0,1,#FF0000,#FFFFFF
print 1
click
for %0=0 to 5
msp 1,50,25,255
print 1
wait 500
next
end
」
* 圖像SP的移動
讓圖像SP移動的系統和前述的文字列SP移動命令沒有太大的差別。
將變數輸入x,y座標數值中,使數值的變化重複表現的話便能表示出移動。
* 讓SP移動的可能性
利用for~next做出的SP移動不只是可以用在人物立圖、SP這種較小的圖像上。像是背景的切換上、或是讓比畫面大小還要大的背景圖移動時都可以使用。
能夠藉此做出許多有趣的演出效果。
* 改變人物立圖和SP重疊的關係。
有時後會想要在人物立圖後面表示SP。
像想做出在女主角的後方天空裡有著飛上天的煙火這畫面時,如果煙火的圖像出現在女主角的人物立圖之前那會很令人困擾。並且當設定了許多SP作為button時,可能會出現被人物立圖所蓋住無法表示這樣的情況。
人物立圖的預設階層為第25號。當SP的號碼被設定為0~25號的時候會被表示在人物立圖之前,而如果設定為26號以上的話會表示在人物立圖的後面。
當想要變更人物立圖的階層號碼時,必須在定義區塊使用humanz命令進行宣告。請注意此命令只能在定義區塊使用。
程式碼
humanz 階層的數值
範例
*define
humanz 50
game
*start
humanz為命令本體。
其意義為人物立圖(human)在Z軸(深度)的數值。
50為所指定階層的數值。
在此範例中會變更為:0~50號的SP會表示在人物立圖之前,而51號之後的SP會表示在人物立圖之後。
* 新的SP命令
在之後Nscripter中也追加了新的SP命令。
其特點是旋轉、放大縮小、左右上下翻轉、追加計算blend都變得可能使用。
並非在處理上相當獨特的demo命令,而是真的作為SP來處理所以在使用上變得較為簡便。
但是由於能夠做出更多的處理,所以副作用也使得必須設定的數值增加了。在只是想作為普通的SP處理的時候還是使用以前的命令較為簡單。
* 叫出功能擴張SP的命令
和普通的SP不同,圖像的起點位置並不是「左上角」而是「中心」。這麼是為了讓圖像能夠進行迴轉效果、擴大效果。
擴大率數值於整數方向為擴大縮小,輸入minus方向時則圖像會如鏡像班反轉。當輸入-100的時候為等比例反轉。
回轉角的單位為度能夠輸入0-360的數值。迴轉方向為逆時針旋轉。
程式碼
lsp2 SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsp2 0,”:c;test.bmp”,320,240,100,200,36
* 將功能擴張SP以非表示狀態叫出的命令
此命令為將功能擴張以非表示狀態叫出的命令。
程式碼
lsph2 SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsph2 0,”:c;test.bmp”,320,240,100,200,36
* 將功能擴張SP以表示狀態叫出的blend命令
此命令為將擴張命令以經過追加計算blend的表示狀態叫出的命令。
程式碼
lsp2add SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsp2add 0,”:c;test.bmp”,320,240,100,200,36
和普通的lsp2命令不同之處為圖像經過追加計算blend。
追加計算blend為在圖像的明亮度上經過重複計算的加算方法。簡單的說,就是圖像會變得更明亮。
利用這個功能就能夠表現出霓虹、光束兵器這樣的表現。
* 將功能擴張SP以非表示狀態叫出的blend命令
此命令為將擴張命令以經過追加計算blend的非表示狀態叫出的命令。
程式碼
lsph2add SP號碼,呼叫圖像文字列,中心x座標,中心y座標,x軸擴大率,y軸擴大率,迴轉角度(,初期α值,如省略則為255)
範例
lsph2add 0,”:c;test.bmp”,320,240,100,200,36
* 功能擴張SP消去命令
將功能擴張SP從記憶體上消去的命令。
程式碼
csp2 SP號碼
範例
csp2 2
* 功能擴張SP的移動命令
利用相對位置的移動命令
讓功能擴張SP的現在位置座標數值經過增加或是減少的移動命令。
程式碼
msp2 功能擴張SP號碼,中心x座標增減數值,中心y座標增減數值,x軸擴大率增減數值,y軸擴大率增減數值,迴轉角度增減數值(,α數值增減值)
範例
msp2 0,10,20,-10,10,5
msp2是命令本體。
0是功能擴張SP的號碼。
10是x軸座標的增減數值。當想要朝相反方向移動時請輸入-10這樣加上minus符號的數值。20是y軸座標的增減數值。當想要朝相反方向移動時請輸入-20這樣加上minus符號的數值。
-10是x軸方向擴大率的增減數值。10是y軸方向擴大率的增減數值。
當擴大率的數值經過減法變成負數的時候,圖像會像鏡像這樣反轉。
5為迴轉角度的增減數值。數值為正數時方向為反時針轉,當數值為負數的時候方向為順時針轉。
使用這個命令後必須使用print命令才能夠使它表現。
利用絕對位置的移動命令
將擴張功能SP從現在的座標位置移動到所指定絕對位置的命令。
程式碼
amsp2 功能擴張SP號碼,中心x座標絕對數值,中心y座標絕對數值,x軸擴大率絕對值,y軸擴大率絕對值,迴轉角度絕對值(,α數值絕對值)
範例
amsp2 0,300,150,-100,50,60
asmp2為命令本體。
0為SP號碼。
300為x軸座標的絕對值。
150為y軸座標的絕對值。
此命令所利用的是絕對座標,直接輸入x,y的座標值。SP會直接表示在這個座標上。
-100為x軸的擴大率絕對數值。50為y軸的擴大率絕對數值。當擴大率為minus數值的時候,圖像會在其軸線上進行鏡像反轉。60為旋轉角度的數值。依據所輸入的數值進行逆時針旋轉。
使用這個命令後必須使用print命令才能夠使它表現。
* 將功能擴張SP暫時消去或是表示的命令
此為能夠將功能擴張SP切換表示模式、非表示模式的命令。
程式碼
vsp2 功能擴張號碼,表示flag(0或1)
範例
vsp2 1,0
vsp2是命令本體。
1為SP號碼。
0為表示flag。當數值為0的時候為非表示模式,數值為1的時候為表示模式。
使用這個命令後必須使用print命令才能夠使它表現。
* 將功能擴張SP一起消去或是表示的命令
將功能擴張SP一起消去
將全部的功能擴張SP一起暫時消去。
將目前被表示,全部的功能擴張SP全部切換至非表示狀態。
程式碼
allsp2hide
範例
allsp2hide
將功能擴張SP一起表示
將被allsp2hide所隱藏起來的功能擴張SP表示出來。
並不會對被vsp2等命令個別消去的功能擴張SP做出反應。
當想要讓button console、SP的集合一起消去或是出現的時候可以用到的命令。
程式碼
allsp2resume
範例
allsp2resume
この記事にコメントする
不好意思想請問一下
因為最近作研究的關係接觸到Nscripter
網路上幾乎都是程式碼的教學
但有一點疑問是:
如果我遊戲完成之後要怎麼辦?
因為官網上下載下來的檔案需要日文語系系統支援
所以無法使用也得知如何成為正式的檔案
還是說
Nscripter所製作出來的遊戲是沒有exe檔之類的形式嗎?
不好意思還請指教
感激不盡
無題
的文章 裡面有說明要如何使用Nscripter 有問題歡迎再發問囉
- KID
- 2010/11/23(Tue)21:32:03
- 編集
不好意思我又來了
所以當我整個遊戲完成之後
如果要分享給別人的話
就要連我的所有劇情、圖片等一起給別人嗎
這樣的話是否代表我的遊戲有可能被別人更改
沒有辦法直接合成一個檔嗎
還有NScripter可以讀取0.txt~99.txt
如果我分成許多記事本檔要如何串聯讀取呢
以上
不好意思我問題好多
還請替我指點迷津
感激不盡
無題
中間斷在哪邊都沒關係 中間有缺號也沒關係
不想分段全部塞在0.txt也無妨 分段是方便自己修改程式用的
至於打包 要用NS的工具 nsaarc.exe 打包 把要打包的東西放在一個資料夾 再利用這個程式指定路徑就可以打包 腳本打包要用nscmake.exe 但網路上已有拆NS封包的程式 基本上這是防君子不防小人
最後用這個工具記得要在腳本定義區加上 nsa
- KID
- 2010/11/24(Wed)22:00:51
- 編集
感激~~
萬分感謝
另外還有個不是很大的問題還想指教
就是游標以及主要程式的圖樣可以更改嗎
不好意思我問題好多OTZ
感激不盡
無題
setcursor 執行
程式碼
setcursor {0,1},圖像檔案名稱,數值1,數值2
功能
變更等待click游標的命令。
option
{0,1} 變更哪種類的游標。只輸入0或是1。
0是等待click
1是等待改頁
圖像檔案名稱 等待click游標的檔案名稱
數值1 原本的游標表示位置左上角座標在x軸上移動的距離
數值2 原本的游標表示位置左上角座標在y軸上移動的距離
備註
預設的游標如下面的設定(所以可以直接在exe檔旁邊加入新的cursor0.bmp 就可以更換游標圖示)。
等待click “:l/3,160,2;cursor1.bmp”0,0
等待改頁 “:l/3,160,2;cursor0.bmp”0,0
範例
setcursor 1, “:l/3,160,2;cursor3.bmp”0,0
setcursor 0, “:l/3,160,2;cursor4.bmp”0,0
主要程式.exe的圖樣就必須去網路上下載exe擋圖案更換程式 但注意win會將exe檔資訊儲存起來 所以就算更換過後在自己已經執行過該exe檔的電腦是無法看到變更的 必須要到新的電腦才可以看到
- KID
- 2010/12/01(Wed)01:08:41
- 編集
無題
- KID
- 2010/12/02(Thu)15:26:12
- 編集
右鍵選單有大麻煩!
小的有一個問題想要來求助
目前使用的是貴團隊的 "KAGEX2注譯繁中化版"
但是配上了D大的右鍵菜單範例的語法以後
出現了十分微妙的問題
第一次按右鍵時 , 後面的 "主菜單" 這張圖跑不出來
再按一次右鍵後 , 按鈕會消失 , 但是會出現一個黑幕 , 雖然擋住了但是文字還是可以繼續跑
第三次按右鍵並選擇存檔後 , 會出現存檔畫面並且可以存檔
http://images.plurk.com/3653620_c13e20989c07cc86aa3fff6a83d56ee3.jpg
存檔完離開菜單後 , "主菜單" 那張圖出現了 , 而且怎樣都弄不掉
並且之後按右鍵 , 菜單不會出現 , 只會把對話框消除
在D大的rmenu.ks檔中
我唯一動過的指令只有
*return
[backlay]
[freeimage layer=1 page="back"]
[freeimage layer=2 page="back"]
[freeimage layer=3 page="back"]
我把"layer="後面的數字改掉了
因為不改掉就會發生錯誤
請問這樣還有救嗎 QAQ
這問題困擾我好幾天了 , 怎麼改都沒辦法解決
請麻煩指點
小的我感激不盡
- 非常需要救助的新手
- 2010/12/18(Sat)18:00:57
- 編集
無題
感到受益良多啊
萬分感激
- NS的初學者
- 2010/12/20(Mon)00:09:17
- 編集
この記事へのトラックバック
- この記事にトラックバックする