イベントの位置設定 / ツクールVXAceスクリプト(RGSS3)wiki
ツクールVXAceでイベントの位置設定をスクリプトで行うなら以下の通りです。
cha = get_character(移動させるイベントのID)
cha.moveto(x座標, y座標)
cha.set_direction(方向)
移動させるイベントのIDについては「0」でこのイベント、1~で数字のIDのイベントを指定します。
方向は以下のように対応しています。
2:下
4:左
6:右
8:上
テンキーに対応しています。
サンプルコード(このイベントをx:3 y:9の位置に下向きで移動)
cha = get_character(0)
cha.moveto(3, 9)
cha.set_direction(2)
さらに他のイベントと交換するときは以下のようになります。
cha1 = get_character(移動させるイベントのID)
cha2 = get_character(交換するイベントのID)
cha1.swap(cha2)
サンプルコード(このイベントをイベント3の位置と交換)
cha1 = get_character(0)
cha2 = get_character(3)
cha1.swap(cha2)
コード解説
移動させる先のx座標、y座標を変数にしたい場合はそれぞれのパラメータに"$game_variables[変数ID]"等と入れてください。
上記の例では"get_character(移動させるイベントのID)"を"cha"という変数に代入していますが、変数にいれずにそのまま使用するとイベントスクリプトの欄には入らなくなってしまうことがあるため、名前の短い変数に一度代入しています。
他のイベントと位置を交換する際は、イベントコマンドでは交換後のイベントの向きが指定できませんが、スクリプトで行う際には"set_direction"を使用すれば交換した二つのイベントの向きを設定できます。
例えば以下のようになります。
cha1 = get_character(0)
cha2 = get_character(3)
cha1.swap(cha2)
cha1.set_direction(4) #このイベントの向きを左に設定
cha2.set_direction(6) #ID3のイベントの向きを右に設定
ツクールVXAceスクリプトリファレンスwikiトップページへ戻る
オリジナルシステムなどの製作依頼・相談があればプラグイン・マップ等個別製作依頼のページまでお願いします。