見出し画像

ほんとに簡単2Dアクション#03

プレイヤーの移動方法について


ついに本格的にゲームの作り方についてをスタートしていきます。

プレイヤーの動きというのはゲームにおいて重要です。

だからこそ皆さんはここに手を伸ばそうと出来ないのではないでしょうか。


もっと簡単に考えてみましょう。

細かい動きなんて無くていいんです。

そんなもの後付けでいい、皆さんが挫折する理由は難しく考えすぎているからだと思います

まずはただ動くだけの状態を作りましょう。


では動かしたいオブジェクト(プレイヤー)を用意してください。


用意できましたら、プログラムをうっていきます。しかしそんなに難しいことはしません


それでは移動するためのプログラムを作ります。しかし動かすと言っても様々な方法があります。


  1. 座標を動かす

  2. 力を加える

  3. 指定位置に何秒間で移動する


といったくらいに移動方法は存在します。

では私がおすすめしたい移動方法は座標を動かすことです。


なぜおすすめするかというと簡単で、プログラムが非常に少なくていいからです。




Vector2という機能が座標を使うためには必要不可欠です。

Vector2 posという風に名前をposにします。


posの中にthis.transform.positionと入れるとプログラムを入れているオブジェクトの座標がposの中に入ります。


まずはpos.xとするとX座標を操作できます。

pos.x += 0.1f;

少数を使う場合は数字の後に[ f ]を入れないといけません。


this.transform.position = pos を最後に入れることで

変更した部分をオブジェクトに反映することができます。


右にだけ動くことができるプログラムが完成です。


下のプログラムが実際に書いたプログラムです。

プログラムを作ってみるとすごく簡単でしたよね。
文字で見るとすごく難しく感じましたけど。
上の写真で見るとこれだけでいいんだと思っていただけると思います。

あとはこれにキー操作を取り付けるだけでプレイヤーの移動が出来ます。

ではこれからキー操作を取り付ける方法を説明します。
今回はキーボードによる操作方法です。

if文の中に上の写真のとおりにInput.Getkey(KeyCode.?)
という風に書き込むと[ ? ]の部分をゲーム中に押すと右側に操作が出来るプログラムの完成です。

上の写真ではAのキーを押すとポジションが右に動くというプログラムです。

pos.xで左右の座標を動かします。
pos.yでは上下の座標を動かせるんです。
上で説明したことを踏まえると
Keyを4つ用いて上下左右の操作を簡単に作ることが出来ます。
ではやってみましょう。

見てくださいこれが上下左右にキー操作ができるようにしたプログラムです。
ほぼコピーアンドペーストですぐに終わらせられるプログラムとなっています。


  1. 変わったところというとpos.xのxの部分をyに変えているというところ

  2. プラス、マイナスを変えているところ。

  3. 操作方法を分ける

といったくらいでしか変えているところはありません。

ここまで出来たら、Unityでまずは動かしてみましょう。

もしもエラーが出てしまったら
エラー文をコピペして検索してみましょう。
そうすると今までそのエラーをしたことがある有識者の方がブログなどを作ってくれていたりします。

キー操作は適当なので好きなキーで操作しましょう。

最後にキー操作の種類について説明します。
キー操作は3つ方法があります。
手段によって使い分けてください。

追加してこの二つです。
上のGetKeyUpは押した瞬間だけ反応します。
ジャンプを使うときはこの操作にするといいでしょう。

下のGetKeyDownはキーを放した瞬間に反応します。

どちらも押したぶんしか反応しません。
今まで説明した3つを組み合わせてプログラムをしてみてください。

どうでしたか?

移動方法については分かっていただけたでしょうか。

プログラムだと難しそうと考えることが無く出来たでしょうか。
これだけでプレイヤーの操作が出来てしまうんです。

しかし今回作るのは昔のマリオのような2Dアクションゲームなので左右キーだけで良かったですね。

そうしてみるとこんなに簡単になりました。
上のスクリプトはパクってもかまいません。

次回ではジャンプについての説明をしていきます。