坂道

坂道の実装を考えつつ、とりあえず画像だけ対応しました。
差分
今のところブロック扱いではないので、キャラクタがすり抜けます。


で、坂の上を歩けるようにしたいんですが、

ブロック
足が少しでも引っかかっていたら落ちない。
キャラクタの中央下が境界線上にくる。

とすると、ブロックと坂の繋ぎ目はどっちだろうという疑問が浮かびました。


調べてみるとマリオは坂優先みたいで、確かにこの方が動きは自然です。
(ブロック優先だと繋ぎ目でストンと落ちる感じになります。)
ただし、キャラクタの一部がブロックに埋まることになるので、既存の接触判定を見直す必要があります。
具体的には、キャラクタの中央下が坂にかかっている場合、

  • ブロックの上に足がかかっていても乗っていないことにする
  • ブロックに埋まっていても右にずらさないようにする

のように変更することになります。


あとは坂の境界線をどのように表現するかですね。