皆さんこんばんにちは、ユウです。
今回は、Unityでキャラクター操作をするときに行う、C#でのスクリプトについて紹介していくよ!
本記事を読むメリット
ゲーム制作における2Dでのキャラクター操作方法を知ることが出来る!
それでは、紹介していきたいと思います。
キャラ操作
今回のキャラクター操作はPCでの操作を想定したものです。
ですので、スマホで動かしたい場合は別記事を読んで下さい。
(今後の記事で書く予定です。)
キャラクターを操作するキーは←↑→↓のカーソルキー、もしくはA(←)W(↑)D(→)S(↓)となっています。(ジャンプをしたい場合は「space」キーなど)
基本、PCゲームでの入力操作はこれらのキーに対応したものが多いので、普段PCゲームをしないという方は覚えておくと良いかもですね。
ゲーム制作はPCで基本行うので、操作などは覚えておいた方が良いかもしれません。
今回紹介するコードは、キャラクターに物理演算を適用させる、Rigidbodyや接触(あたり)判定を適用するColliderを使用していることが前提となっています。
この作業は非常に初歩的なことなので、まだ使用できていない方は調べて適用してからこの記事を参考にしてみて下さい。
キャラ操作スクリプト
1.単純な横スクロール
ここでは、単純な横スクロールを紹介しています。
スクロールの行い方は複数個ありますが、今回の記事では2つ紹介いたします。
細かな説明はコード内に書いているので、そちらを参考にして下さい。
今回のコードではスクロールの他にキャラクターの操作範囲も指定しています。
上のGIF画像を見てもらうと分かるかと思いますが、猫が端まで寄った後に、垂直に落ちていくのが分かるかと思います。
この際、私は右に行くためのキーを押したままなのですが、猫のキャラクターは壁に阻まれたかのように右に行くことが出来なくなっています。
この操作範囲を限定する方法は、横スクロールゲームでは使う事があると思うので、出来れば覚えておくようにして下さい。
変数について
今回のコードでは、public float speed等のように、変数型の前にpublicを付け加えています。
これを記述しておくことで、Unity内で変数の値を変更することが出来ます。
2.横スクロール+ジャンプ
このコードでは、先ほどとは少し異なる横スクロールの方法とジャンプの仕方について紹介しています。
このジャンプは、spaceキーを一回押す毎に1段ジャンプをするといった工程になっています。
このままでは、空中で何段でもジャンプすることが可能なので、もし、興味がある方は、キャラが地面についている判定のやり方などを調べてみると良いかと思います。
意外と簡単にできるので挑戦してみて下さい。
最後に
今回は横スクロールを基本に、2Dにおけるキャラクタの操作について紹介してきました。
このほかにも操作の仕方は様々あるので、ぜひ自分で模索して効率の良い手順を導いてみて下さい!
今回はこれで以上となります。
最後まで見ていただきありがとうございました!