イベントコマンドだけでも、「座標」を使用することは多い。
座標というのは位置を表すものだ。マス目をイメージすると良い。
横をX、縦をYとしてその組み合わせ(X, Y)で平面上の全ての位置を指定できる。
というのが一般的な座標だが、ツクールでは2つほど注意点がある。
まず気を付けなければならないのは「左上が基準になっている」という点。
一番左上を(0, 0)として、右に行くほどX座標がプラスとなり
下に行くほどY座標がプラスとなる。左上から右下に伸びるイメージ。
特にY座標のカウントが数学で使うグラフ等と違うため、間違えやすい。
それから、ツクールでは座標というと2種類ある。
画面座標一般的に座標というとこの画面座標を指すことが多い。
左上を(0, 0)として、1ドット単位で「画面上の位置を表す」。
ピクチャの表示や移動で使用するのが代表的。
変数の操作で「キャラクターの画面X / 画面Y」で取得できる。
1ドット単位なので、ピクチャやキャラクターの座標を考える場合
「どの位置を基準にしているか」を意識しないとすぐズレてしまう。
通常、VXとAceは画面解像度が544×416なので
画面に表示されるのは(0, 0)から(544, 416)まで、中心点が(272, 208)。
XPは640×480なので(0, 0)から(640, 480)まで、中心点が(320, 240)。
2000と2003は320×240、中心点は(160, 120)となる。
マップ座標ツクールの場合、マップチップやイベントの座標単位として
このマップ座標の方が広く用いられている。
左上を(0, 0)として、1マス単位で「マップ上の位置を表す」。
1マスはXP以降は32×32、200xは16×16。
変数の操作で「キャラクターのマップX / マップY」で取得できる。
キャラクターは1マス単位で管理されているし
マップ座標は純粋にマップの位置を指定できるため使いやすい。
基本的にキャラクターの位置を考える場合はマップ座標を使う。
余談。
画面座標とマップ座標は
プレイヤー座標を介することで相互変換可能である。
変数の操作でプレイヤーの画面XYとマップXYを取得する。
ある画面座標をマップ座標に変換したい場合。
まず、プレイヤーの画面座標からその画面座標を引いて差を出す。
次に、その差を1マス単位の32で割る。(200xは16)
最後に、プレイヤーのマップ座標にその数を足す。
逆にマップ座標を画面座標に変換したい場合。
プレイヤーのマップ座標からそのマップ座標を引く。
それに1マス単位の32を掛ける。(200xは16)
そしてプレイヤーの画面座標に、その数を足す。
ある画面座標と、変換後の画面座標に変数を使えば
コモンイベントで汎用的な変換処理を作ることも可能。
[15回]
PR
-->