坂道
坂道の実装を考えつつ、とりあえず画像だけ対応しました。
差分
今のところブロック扱いではないので、キャラクタがすり抜けます。
で、坂の上を歩けるようにしたいんですが、
- ブロック
- 足が少しでも引っかかっていたら落ちない。
- 坂
- キャラクタの中央下が境界線上にくる。
とすると、ブロックと坂の繋ぎ目はどっちだろうという疑問が浮かびました。
調べてみるとマリオは坂優先みたいで、確かにこの方が動きは自然です。
(ブロック優先だと繋ぎ目でストンと落ちる感じになります。)
ただし、キャラクタの一部がブロックに埋まることになるので、既存の接触判定を見直す必要があります。
具体的には、キャラクタの中央下が坂にかかっている場合、
- ブロックの上に足がかかっていても乗っていないことにする
- ブロックに埋まっていても右にずらさないようにする
のように変更することになります。
あとは坂の境界線をどのように表現するかですね。