08/02/03 13:18:29 nv4LC70S
>>311
C#使ってゲーム作ってる自分としては支援したいところだが、そんな難しく考える必要はないだろう。
状況に応じてx、yどちらかだけ矯正すればいいってことはわかっているだろうか。
両方矯正するケースはどちらかを矯正した値が、まだ移動不可領域にいる場合のみなんだぜ。
あと、before座標と暫定new座標の差分でどちらから進入したかの見当がつく。
例えばDerectXのSpriteの座標のように左上を(0、0)として、new-beforeを計算すると
xの差が- → 左へ
xの差が+ → 右へ
yの差が- → 上昇中
yの差が+ → 落下中
となる。
yが移動している場合はyの矯正を優先すれば大体の場合は大丈夫なはず。若干怪しいときもあるが。
ここら辺は足場に乗ることが出来る許容値との兼ね合いで。