Re: バグ報告スレッド 10 [ No.331 ]
メンテ
 2012/12/08 15:36
 ななし
報告内容
精密座標におけるY座標の仕様が若干おかしい
(移動幅とあたり判定を0.5マス、主人公座標で検証しています)

まず、自分で行った検証の結果判明した仕様は
・0.5マス移動でも主人公はマップの一番上のマス(通常Y座標0)の半歩上(マイナス1の座標)には行けない
 ただし、マップが上下にループする場合は可能
 (その場合のY座標はマップ縦サイズ×2−1の値をとる)
・そして、その場所をY座標0として定義し、
 精密の場合は下に0.5マス移動するごとに+1した数値が
 通常の場合は下に1マス移動するごとに+1した数値が
 変数操作+で算出される主人公の精密座標となる

ですが、これらの座標と内部の座標に若干ズレがあるように思えます

不可解な現象の例として
主人公の精密座標を取得して、その座標のタグ番号を取得した場合と
普通に主人公のタグ番号を取得した場合とでズレが生じます
その他にも通行設定にもズレが生じているようなフシがあります
(通れるにもかかわらず1が出たり通れないにもかかわらず0が出たり)

ウディタの内部処理に関する事なので、推測の域を出ませんが
「精密座標を調べる時、どの位置をY座標0と定義しているか?」
という仕様が統一されていないように思えます

その為、主人公の現在いる位置のタグ番号や通行設定などの情報と
変数操作+で取得した主人公精密座標から調べたマップの情報にズレが生じているようです

検証用に手を加えたファイルを添付しておきますので
実際に見てもらえればより伝わりやすいと思いますので確認よろしくお願いします
適当にタグ番号を付けたタイルセットと
地形確認の為に少々手を加えたサンプルマップAです
添付ファイルあり20121208_1536_33_1.zip