さて「物体の上にのる」ということですが、これが結構面倒なんです。
実は前作「NaGu-Ru」でもこれをやってみようとしたんですが、あえなく玉砕(TT)
というわけで、今回は失敗するわけにはいかないんですよ。なんか悔しいでしょ?
やろうと思ってることができないって。ちゅーわけで、がんばってみましょうか。
で、実際プログラムを組むのに何をしなければならないかというと、
結局は「あたり判定」なんです。当たり前ですよね?
でも、そのほかにもいろいろとやることが発見されました。それは.....
などなど。他にもいろいろと細かいところがありまして、次にそれを見ていきましょう。
まずはあたり判定から。
とりあえず、XZ軸、つまり高さを考えない平面上でのあたり判定をします。
もちろん、あたり判定を行うべき全物体とあたり判定を行います。
ここで、移動判定と移動の関係についてですが、僕の経験からいくと、
移動させてから判定して、判定に引っかかったら位置を元に戻す、
という方法より、移動したあとの位置を使って移動あたり判定をおこない、判定に引っかからなかったら
移動する、という方法がいいと思います。なんとなくですが。
で、とりあえずこれで高さを考えない場合の移動判定は解決です。ほんとにこれで。
次は「高さ」を考慮したあたり判定をやってみます。基本的には先ほどと同じですが、
「自分の下に何か物体がある場合、XZ軸(平面)で判定が引っかかっても動ける」ようにしなければなりません。
だって、そうしないとものの上を歩けないもん。そうでしょ?
ちゅーわけで、先ほどのあたり判定を拡張してやれば良さそうですね。
というわけで、「自分の下にあるものの判定」が必要になってくるわけですよ。
ここでは「自分の下にあるものの判定」ができた、として話を進めます。
で、「自分の下にあるもののてっぺん」と「自分の足元」の高さが同じのときは、
先ほどのあたり判定に引っかかったときは進める、それ以外は「ものから落っこちる」
と判定するようにしましょう。これで、ものの上を歩くことが出来ます。
文章で書くとながったらし〜(^^;)簡潔にまとめれないもので、すいません。
というわけで、めでたく「もの上を歩く」ことができるようになりました。
しかし、「階段」とかはどうしようかな〜(^^;)