Recrit
同人遊戲相關專欄連載
【捨丸&KID】exbtn 擴張按鈕
這禮拜要來介紹exbtn這個指令的應用,exbtn為複合按鈕指令,關於如何製作按鈕請參考之前的教學,exbtn可以將多個SP圖像組合成一個按鈕群組,例如現在有SP1,SP2,SP3三個圖像,就可以利用”exbtn_d”” exbtn 1,1”” exbtn 2,2” exbtn 3,3” 製作出比較華麗的效果,祥細使用方式如下:
exbtn_d命令
「exbtn_d」設定當滑鼠游標沒有指在任何一個button定義領域時(也就是任何一個SP圖像範圍,總之就是滑鼠沒點到按鈕的情況)的畫面表示。藉由輸入的控制文字列來對所指定的SP進行控制。
程式碼
exbtn_d 控制文字列
範例
exbtn_d “P1P2P3C4C5C6P7,0”
exbtn_d為命令本體。
為EXtraBuTtoN_Default的縮寫。
當滑鼠游標沒有放在任何一個button上時,會如控制文字列(“P1P2P3C4C5C6P7,0”)所輸入來表示圖像。
複合button的控制文字列
複合button的控制文字列中使用到半形英數的「C」、「P」、「M」和SP號碼。
其各自的功能如下所列。
C數字(SP號碼)
所指定SP號碼的圖像狀態為不顯示。C為Clear的縮寫。
P數字(SP號碼)
所指定SP號碼的圖像為顯示。P為Print的縮寫。
P數字1(SP號碼),數字2(cell號碼)
所指定SP號碼的圖像為顯示。P為Print的縮寫。
P數字1(SP號碼),數字2(cell號碼)
顯示號碼為數字1的SP圖像的cell2。
像這張圖就有3個cell,注意號碼是從0開始,所以cell2是最後一個分格
S數字,(叫出音效檔案的名稱)
發出音效。數字為channel編號。
M數字1(SP號碼),數字2(顯示座標X) ,數字3(顯示座標Y)
這是用來表示SP動畫,表示方式在設定SP圖像時就已經設定好了
控制文字列的長度沒有限制。
(例文)
“P1P2P3C4C5C6P7,0S1(SE\Chaim.wav)”
SP1,2,3號為表示模式。SP4,5,6號為非表示模式。SP7號表示cell 0號。並且於channel 1播放Chiam.wav。
請注意英文字母和阿拉伯數字之間並沒有空白,雖然因此而很不好閱讀但是請有耐心地依序閱讀。
當想要指定所表示的cell時,並需像P7,0這樣輸入「,」。
在出現長串文字列的地方插入「,」的話,視覺上很容易就會把它當成文字上的區隔點因此會造成閱讀的困難。但是在閱讀控制文字列的時候請記得要把「P」、「C」、「S」當成間隔點來閱讀。
exbtn命令
利用「exbtn命令」所指定的button在滑鼠游標進入圖像範圍的時候,會依據控制文字列所指定SP控制狀態來執行,並且在點擊button時會取得button號碼作為回歸值。
程式碼
exbtn SP號碼,button號碼,控制文字列
範例
exbtn 1,1,”C1P2P3P4C5C6P7,1S1(SE\bell.wav)”
將SP 1號設定為button 1號。
當滑鼠游標進入button的領域時會如同控制文字列所設定來表示SP群組圖
SP 1號非表示、SP 2號表示、SP 3號表示、SP 4號表示、SP 5號非表示、SP 6號非表示、SP 7號表示cell 1號,並且於channel 1號播放放於SE資料夾中的bell.wav。
—控制文字列的內容意義如上。
能夠藉由控制文字列一次進行許多的指令。
Point:如果真的很難閱讀控制文字列的話
由於控制文字列的ON、OFF很難一眼就看出來,我們在作業中可以利用Excel做出表格來管理。
於Excel中的每個格子裡輸入P1或P7,0這樣指定一個SP的文字,然後於設定完成後在拷貝到txt檔裡。
雖然有點像是秘技,但是ex button在控制文字列裡即使只有輸入有變化的號碼也能夠正常動作。
exbtn_d “P1P2P3C4C5C6P7,0”
bexbtn 1,1,“C1P2P3P4C5C6P7,1S1(SE\bell.wav)”
button 1有產生變化的只有SP 1號、SP 4號、SP 7號以及音效
簡略輸入
exbtn 1,1,””C1P4P7,1S1(SE\bell.wav)
由於只輸入有產生變化的SP號碼,因此會比較好閱讀。
在button處理命令之後為btnwait2命令,而在這之後的流程和其他的button處理相同。利用button的回歸值代入變數之中後,以if命令來評估狀態進行條件分歧。
程式碼範例:
「
*still_afterbgm
bg black,1
lsp 51,":c;sys\logo\stillbox_1.jpg",0,370
;這邊預先載入要顯示的SP圖像
lsph 32,":a/2,0,3;sys\logo\Liao.bmp",10,20
lsph 33,":a/2,0,3;sys\logo\Sean3.jpg",10,20
lsph 31,":a/2,0,3;sys\logo\sutemaru.jpg",10,20
lsph 34,":a/2,0,3;sys\logo\kid.JPG",10,20
lsph 41,":a/2,0,3;sys\logo\sutemarutext.jpg",340,0
lsph 42,":a/2,0,3;sys\logo\liaotext.jpg",340,0
lsph 43,":a/2,0,3;sys\logo\seantext.jpg",340,0
lsph 44,":a/2,0,3;sys\logo\kidtext.jpg",340,0
lsph 21,":l/3,300,2;sys\vx_chara02_d\cat1.bmp",550,320 ;注意這是SP動畫
lsph 11,":l/2,0,3;sys\vx_chara02_d\cat3.bmp",550,320
lsph 22,":l/3,300,2;sys\vx_chara02_d\sailor1.bmp",450,320 ;注意這是SP動畫
lsph 12,":l/2,0,3;sys\vx_chara02_d\sailor3.bmp",450,320
lsph 23,":l/3,300,2;sys\vx_chara02_d\captain1.bmp",350,320 ;注意這是SP動畫
lsph 13,":l/2,0,3;sys\vx_chara02_d\captain3.bmp",350,320
lsph 24,":l/3,300,2;sys\vx_chara02_d\kid1.bmp",250,320 ;注意這是SP動畫
lsph 14,":l/2,0,3;sys\vx_chara02_d\kid3.bmp",250,320
;動畫是會一直顯示的,所以一開始不需要顯示時可以將動畫移至畫面範圍外
exbtn_d "P11P12P13P14P31,1P32,1P33,1P34,1P41,1P42,1P43,1P44,1M21,800,800M22,800,800M23,800,800M24,800,800"
;注意這邊都沒有斷行 移到SP11範圍後 將SP21動畫移置畫面內並顯示SP11圖像的cell1,可以用alpha模式制作為透明,看起來就會像消失一樣如後面例圖
exbtn 11,11,"P11,1P12P13P14P31P32,1P33,1P34,1P41P42,1P43,1P44,1M21,550,320M22,800,800M23,800,800M24,800,800"
exbtn 12,12,"P11P12,1P13P14P31,1P32P33,1P34,1P41,1P42P43,1P44,1M21,800,800M22,450,320M23,800,800M24,800,800"
exbtn 13,13,"P11P12P13,1P14P31,1P32,1P33P34,1P41,1P42,1P43P44,1M21,800,800M22,800,800M23,350,320M24,800,800"
exbtn 14,14,"P11P12P13P14,1P31,1P32,1P33,1P34P41,1P42,1P43,1P44M21,800,800M22,800,800M23,800,800M24,250,320"
btnwait2 %0
if %0=-1 btndef clear:csp -1:goto *still_exit
if %0=-10 btndef clear:csp -1:goto *still_exit
goto *still_afterbgm
」
例圖:
PR
この記事にコメントする
この記事へのトラックバック
- この記事にトラックバックする
重大更新
New Entries
(02/16)
(12/03)
(10/30)
(10/03)
(09/19)
Categories
Search
推廣遊戲
─歡迎交換連結─
Banner放置處