さて、今回はLaboratoryテーマ??21「指定座標に指定サイズのメッセージウィンドウを開きたい」その?Bです。
今回公開したメッセージウィンドウは、メッセージを表示するだけでなく、スクリプトを組み込むことが可能です。
スクリプトに命令を追加することで、複雑なイベント管理が可能となります。
今組み込んであるのは、下表の3命令。
命令
意味
記述
動作
NX
NeXt
NX
次のメッセージへ
FE
FlgsetEnd
FE,n
フラグをn値に設定し、イベントを終了
end
イベント終了
追加で組み込む予定なのは、下表の命令。
命令
意味
記述
動作
YN
Yes/No
YN,x1,y1,m1,m2,m3
座標(x1,y1)に「はい/いいえ」の選択ウィンドウを開く。「はい」が選択されたら、メッセージm1、「いいえ」が選択されたら、メッセージm2、キャンセルが選択されたら、メッセージm3へ
SW
SelectWindow
SW,x1,y1,x2,y2,n
座標(x1,y1)に幅x2、高さy2の選択ウィンドウを開く。選択肢数はn
WO
WindowOpen
WO,x1,y1,x2,y2,l
座標(x1,y1)に幅x2、高さy2のウィンドウを開く。lで枠線の有無設定(0:有 1:無)
MS
MessageSpeed
MS,n
メッセージ表示速度をnに設定
JP
JumP
JP,n
メッセージnへ
FS
FlagSet
FS,m1,e1,n
マップm1のイベントe1のフラグをn値に設定
ES
EventStart
ES,e1
イベントe1を実行する
CF
CheckFlag
CF,m1,e1,m0,m1,m2,m3,…
マップm1のイベントe1のフラグが0ならメッセージm0、1ならメッセージm1、2ならメッセージm2...へ
CS
CheckSelect
CS,m0,m1,m2,m3,…
SWで選ばれた項目番号が、キャンセルならメッセージm0、1ならメッセージm1、2ならメッセージm2...へ
IN
INn
IN,n,m1
宿屋、所持金額から人数×nを減らし、HP・MPを全回復させる。所持金額が足りなければメッセージm1へ
IS
ItemShop
IS,n,i1,i2,i3…,m1
店屋、n種類のアイテムを購入、所持アイテムの売却する。店を出た時はメッセージm1へ
とりあえず今回は必要最低限、こんなところです。
ロールプレイングゲームでは、キャラクタ移動命令等も必要になるので、あまり多くの命令を組み込むと、メモリが全然足りません…。
私がMSXでのロールプレイングゲーム製作を断念し、Windowsへ製作移行した理由の大半はそれです。