さて、物理エンジンを利用した操作では、
「座標の移動」ではなく、
「力を加えてオブジェクトを動かす」操作になると述べた。
さっそく書いた。
こうなる。
なんというかこう、
見てはいけないものを見てしまったような気にさせられてしまう。
不思議な動きだ。
少なくとも、私の知っている猫の動きではない。
まぁいい。細かいことは置いておこう。
キーを押した際に加わる力が大きいようなので調整する。
とりあえず地球の生き物の動きにはなった気がする。
左右に移動できるようにする。
これも簡単な動きだが、
今までとは違い、加速度の処理を行って操作している。
ずっと同じ向きしか向いていないので、進行方向を向くようにした。
歩行アニメーションを付ける。
これでも一応歩いているようには見えるが、
もう少し丁寧に手を加える。
足場になる雲を配置する。
自動生成していくのも手だが、
今回はあまり大掛かりなスクロールアクションにする予定ではないので、
コライダで当たり判定を付けた雲を複数配置するのみとした。
ゴールとなる旗を配置する。
コライダの判定をトリガーにしてシーンの変遷を行うのだが、
どうもおかしい。
コライダを設定した旗にキャラクタが触れても反応しない。
コライダの配置でミスをしたのかと思いトリガーを外してみるが、
きちんとシーン上では配置されているようで、コライダとしての振る舞いをしている。
よって恐らくはまたスクリプトでミスをしていると思うが、
ぱっと見た限りおかしなところはない。
仕方ないので教材のサンプルスクリプトを開いて、
該当部分をコピペすると、きちんと動いた。
やはり自分の書いたものに問題があるらしい。再度精査する。
誤) //ゴールに到達
void OnTriggerEntre2D (Collider2D other)
正) //ゴールに到達
void OnTriggerEnter2D (Collider2D other)
原因はスペルミスだった。
解決してよかったが、
気づきにくいのでこういった間違いは気を付けたい。
クリアシーンを作成し、
旗に触れるとクリア画面へ移るように設定した。
とりあえずひとまず完成である。
制作物は下記の通り。
プレイしてみた感想は気軽に教えてほしい。
https://unityroom.com/games/catclimb
0 件のコメント:
コメントを投稿