Closed kuriuminoki closed 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
概要
画像のサイズでキャラの当たり判定が決まっているが、これでは着地時などに当たり判定が変わり着地→浮遊を繰り返す現象などを引き起こす。
csvファイルでキャラごと、画像ごとに当たり判定を指定できるようにする。
やったこと
csvファイルの仕様
上記の情報をGraphHandlesWithAtariで保持する。
今までは当たり判定時に画像のサイズを取得していたが、改修後はGraphHandlesWithAtariのgetAtari関数で四隅の座標を取得する。
CharacterAction::afterChangeGraphも大きく改修。四隅の座標がどのように変化するかによってキャラの座標を調整する。
今回の改修にともない、以下のバグも修正された。
やらないこと
記入欄
できるようになること(ユーザ目線)
記入欄
できなくなること(ユーザ目線)
記入欄
動作確認
https://github.com/kuriuminoki/DuplicationHeart/assets/92528385/84373447-ed8c-4fee-bf41-33d8fb1649c8
懸念点
記入欄