37日目 ジャンプゲームを作ろう その3

さて、物理エンジンを利用した操作では、

「座標の移動」ではなく、

「力を加えてオブジェクトを動かす」操作になると述べた。

さっそく書いた。

こうなる。


(カクヨムの仕様で掲載できないがここに画像がある

https://3.bp.blogspot.com/-DKhjOBDbp48/WEgsRMpWaHI/AAAAAAAATjw/ZY5cB2ahL8gle3aR7Nkyw6euk5Ry0M3VgCLcB/s1600/cat_5.gif)


なんというかこう、

見てはいけないものを見てしまったような気にさせられてしまう。

不思議な動きだ。

少なくとも、私の知っている猫の動きではない。

まぁいい。細かいことは置いておこう。

キーを押した際に加わる力が大きいようなので調整する。


(カクヨムの仕様で掲載できないがここに画像がある

https://3.bp.blogspot.com/-hogY6Zq_-XQ/WEgsRH9NcGI/AAAAAAAATj0/hlZeUOvuBkowq4YLRVEDcaqh5Y0-0k8SgCLcB/s1600/cat_6.gif)



とりあえず地球の生き物の動きにはなった気がする。

左右に移動できるようにする。

これも簡単な動きだが、

今までとは違い、加速度の処理を行って操作している。


(カクヨムの仕様で掲載できないがここに画像がある

https://3.bp.blogspot.com/-CiT8d6k8Clc/WEgsRvCIX0I/AAAAAAAATj8/GMDGuDC4R4UeEFrorjAjH-DsdA8-Zy8OgCLcB/s1600/cat_7.gif)


ずっと同じ向きしか向いていないので、進行方向を向くようにした。


(カクヨムの仕様で掲載できないがここに画像がある

https://3.bp.blogspot.com/-c4QqfTDx9p8/WEgsRoeb3DI/AAAAAAAATkE/Atx-pgztOdwnco3HKgy3EAnM3osEsmi3QCLcB/s1600/cat_8.gif)


歩行アニメーションを付ける。



(カクヨムの仕様で掲載できないがここに画像がある

https://1.bp.blogspot.com/-0OBqA7rEWgY/WEgsRi8uH0I/AAAAAAAATkA/ziCEPWYZ5sgJ5-0shtmmNlE9_yAXLVg8ACLcB/s1600/cat_9.gif)



これでも一応歩いているようには見えるが、

もう少し丁寧に手を加える。


(カクヨムの仕様で掲載できないがここに画像がある

https://3.bp.blogspot.com/-ZGJdtaVRPxw/WEgsRPjrVII/AAAAAAAATj4/trGIsea316wSP2BV0WiDc6rB6u0RkayawCLcB/s1600/cat_10.gif)


足場になる雲を配置する。

自動生成していくのも手だが、

今回はあまり大掛かりなスクロールアクションにする予定ではないので、

コライダで当たり判定を付けた雲を複数配置するのみとした。


(カクヨムの仕様で掲載できないがここに画像がある

https://1.bp.blogspot.com/-OcIjVm6tjg0/WEgt3OSPPRI/AAAAAAAATkM/AvzXlfir-I4ctCyhiwgC5vHkIt7IeVbxQCLcB/s1600/%25E7%2584%25A1%25E9%25A1%258C3.png)


ゴールとなる旗を配置する。

コライダの判定をトリガーにしてシーンの変遷を行うのだが、

どうもおかしい。

コライダを設定した旗にキャラクタが触れても反応しない。

コライダの配置でミスをしたのかと思いトリガーを外してみるが、

きちんとシーン上では配置されているようで、コライダとしての振る舞いをしている


(カクヨムの仕様で掲載できないがここに画像がある

https://1.bp.blogspot.com/-1EEpb-zOob0/WEgt9pHQg7I/AAAAAAAATkQ/kwe3q4rUaqo9idL3mOBkYHY70ZHCu-ESACLcB/s1600/%25E7%2584%25A1%25E9%25A1%258C5.png)


よって恐らくはまたスクリプトでミスをしていると思うが、


ぱっと見た限りおかしなところはない。


仕方ないので教材のサンプルスクリプトを開いて、


該当部分をコピペすると、きちんと動いた。

やはり自分の書いたものに問題があるらしい。再度精査する。



誤) //ゴールに到達

void OnTriggerEntre2D (Collider2D other)


正) //ゴールに到達

void OnTriggerEnter2D (Collider2D other)



原因はスペルミスだった。

解決してよかったが、

気づきにくいのでこういった間違いは気を付けたい。



クリアシーンを作成し、

旗に触れるとクリア画面へ移るように設定した。

とりあえずひとまず完成である。

制作物は下記の通り。

プレイしてみた感想は気軽に教えてほしい。


https://unityroom.com/games/catclimb

  • Xで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る