フリゲ関連講座 > 変数呼び出し値と場所移動の裏ワザ


変数呼び出し値と場所移動の裏ワザ


はじめに

初心者お断り、中級者以上でも知らない人は多い変数呼び出し値。
今回はその中でも特にマイナーかもしれない、主人公/イベントの座標に注目してみる。

【基礎知識】主人公/イベントの座標関連の変数呼び出し値

9100000+10*Y+X
 → イベントYの座標を取得or入力(※1)
(X = 0:マップX座標(通常[1マスを1と換算]) 1:マップY座標(通常)
    2:マップX座標(精密[0.5マスを1換算])  3:マップY座標(精密)
    4:イベントの高さ(ピクセル数))

9180000+X
 → 主人公の座標を取得or入力。Xの指定内容は(※1)と同じ。

9190000+X
 → このイベントの座標を取得or入力。Xの指定方法は(※1)と同じ。
〜以上、ウディタマニュアルより引用〜

【裏ワザ】仲間の座標関連の変数呼び出し値

9100000+10*Y+X
 → Y番目の仲間の座標を取得or入力。Xの指定方法は(※1)と同じ。
マニュアルには掲載されていないが、この数値を代入するとちゃんと仲間Yの〜という説明文が表示される。
検索しても見つからなかったため、たぶんこのページのデータ(及び執筆者のtwitter)が最初の情報と思われる。

【実践編】変数に代入してイベントを移動させる

【サンプル】
■変数操作: このEvのセルフ変数0 = 9190000 + 0 ……(1)
■変数操作: V[このEvのセルフ変数0] = 9 + 0 ……(2)
■変数操作: このEvのセルフ変数0 = 9190001 + 0 ……(3)
■変数操作: V[このEvのセルフ変数0] = 9 + 0 ……(4)

(1)まず適当な変数に指定したいイベント・主人公に応じた変数を代入する。
 このとき、右辺の設定のチェックボックス「データを呼ばない」を入れておくこと。
 入れないと現在の座標が代入される。
(2)移動先にしたい座標を入力。
(3)(4)X座標のついでにY座標も代入する。

これで、変数で指定した座標にイベント・主人公が移動する。
このとき歩行時アニメはされず、移動速度は元のイベントの移動速度に依存する。

場所移動の対象

先程の変数を代入する方法でも移動は可能だが、移動時間がかかるのが難点。
一瞬で移動させたい場合はコマンド「場所移動」を使用すると便利。
主人公の移動の他、各イベント・このイベントの移動が可能。 また、変数を指定することで、その変数の番号のイベントを移動させることも可能。

……おわかりいただけただろうか。

お気づきの通り、場所移動だと仲間の位置を移動させることができません
たぶん使う機会が無いであろう、仲間の場所移動は不可能なのか?

場所移動の対象の裏ワザ

結論から言えば、対象の変数を指定することで可能。
変数の値移動するもの
-1このイベント
(マニュアルに記述有)
-2主人公(※)
-3仲間1
-4仲間2
-5仲間3
-6仲間4
-7仲間5
この通り、変数に-3〜-7を代入することで、仲間の場所移動が可能になります。
尚、変数に-2を代入すると主人公の場所移動が一応可能ですが、
対象を変数にするとマップ指定が出来ず、
強制的にマップ番号0番のマップに移動されます。
もっとも、普通なら対象を[主人公]に指定するので、そう問題は起きないと思いますが。

もどる

(c)2014- sinusoidal wave