2009年12月6日日曜日

今週は心が折れたので、ピクチャ表示の補正話し。

今週のウディタVer1,15の細かい話し。
(今回の話しは、単なるオレの妄想かもしれないので、あなかしこ)

なんか、ピクチャの表示がずれてるヅラと思ったので、
調査してみた。

画像の中心点の判定式は、
どうやら、「(A÷2)+1+(A÷2の余り)」。
つまり、サイズ2*2の画像の中心は、1,1(1から数えれば2,2)=右下となる。

しかし、3*3とか7*7などのキスウサイズの画像の中心は、1ピクセルずれてしまう。例えば、3*3の中心は2,2(3,3)で、「中心?右下じゃん」となってしまう。

というわけでなんか余計っぽい、「(A/2)+1+(A%2)」の真ん中の「+1」を細かい人は、手動で補正しましょう。

というか、「目標座標(左上基準)X-=(画像横サイズ/2+画像横サイズ%2)-1」の右辺の「-1」がないだけだと思うんで、

【画像位置:中心を選ぶときは】
→「目標座標X+1,目標座標Y+1」
~これだと、キスウの場合はばっちり中心。グウスウの場合は左上が中心になる(たぶん)~

【画像位置:左上&中心以外を選ぶときは】

画像位置左上を目標座標の基準とすると、
それを右上に変換するには、
「X-=画像横サイズ-1」
のはずが、デフォルトでは右辺の「-1」が抜けている?
左下に変換するには、
「y-=画像縦サイズ-1」
のはずが、デフォルトでは右辺の「-1」がやはり抜けている?

結論、細かい人は、
右上の場合は、「X+1,Y」
左下の場合は、「X,Y+1」
右下の場合は、「X+1,Y+1」
に目標座標を手動で補正しましょう。

【結局のところ】
画像位置:「左上」以外にするなら、
目標座標X,Yに以下の数値を足しましょう。
中心→X+1,Y+1
右上→X+1,Y+0
左下→X+0,Y+1
右下→X+1,Y+1


【ベクトルXYの角度について】
座標(0,10)の角度を変数操作で取得したら、
90°になると思いきや、
270°になった。
ああ、オレの思考回路はマイノリティだったのか。
そんな人は、「A=360-A」と1行余計に処理しましょう。
2009/12/13現時点で配布されてるファイルでは、修正されてました。
(元から正しくて、オレのファイルだけ壊れてた?まあ、どっちでもいいか)

P.S
今週は心が折れたので、ゲーム制作時間ゼロ。
すいません。
てか、心が折れた気がしたが、
デフォルトで心は折れていたわけで、
-1×-1=+1なわけで、
あれれ?折れてた心が真っ直ぐになったということか?