kuriuminoki / DuplicationHeart

複製のHeart
0 stars 0 forks source link

キャラの当たり判定を改修 #175

Closed kuriuminoki closed 4 months ago

kuriuminoki commented 4 months ago

概要

画像のサイズでキャラの当たり判定が決まっているが、これでは着地時などに当たり判定が変わり着地→浮遊を繰り返す現象などを引き起こす。

csvファイルでキャラごと、画像ごとに当たり判定を指定できるようにする。

やったこと

csvファイルの仕様

各キャラの当たり判定の範囲を指定する。

ファイル名:「data/atari/キャラ名.csv」とする。

state := 画像の名前

defaultWide := 1なら当たり判定=画像の大きさとなり、wide、x1、x2は必要なし

defaultHeight := 1なら当たり判定=画像の大きさとなり、height、y1、y2は必要なし

wide := 横幅 指定しないなら-1で、x1とx2が必要

height := 縦幅 指定しないなら-1で、y1とy2が必要

x1 := 画像の左端を0としたとき、当たり判定の左端の座標

y1 := 画像の上端を0としたとき、当たり判定の上端の座標

x2 := 画像の左端を0としたとき、当たり判定の右端の座標

y2 := 画像の上端を0としたとき、当たり判定の下端の座標

上記の情報をGraphHandlesWithAtariで保持する。

今までは当たり判定時に画像のサイズを取得していたが、改修後はGraphHandlesWithAtariのgetAtari関数で四隅の座標を取得する。

CharacterAction::afterChangeGraphも大きく改修。四隅の座標がどのように変化するかによってキャラの座標を調整する。

今回の改修にともない、以下のバグも修正された。

やらないこと

記入欄

できるようになること(ユーザ目線)

記入欄

できなくなること(ユーザ目線)

記入欄

動作確認

https://github.com/kuriuminoki/DuplicationHeart/assets/92528385/84373447-ed8c-4fee-bf41-33d8fb1649c8

懸念点

記入欄