ダウンロード サンプルファイル(プロジェクト初期) (1.5 MB)
ダウンロード サンプルファイル(プロジェクト完成) (183.6 KB)
ダウンロード サンプルコード(結果) (48.8 KB)
キー操作を取得する
ゲームにスクリプトを追加することができました。スクリプトの中でキャラクターを移動させることもできました。
今度は、ユーザーのキー操作に合わせてキャラクターを移動させてみましょう。
入力処理の取得
キーボードの矢印キーに合わせてキャラクターを移動させることにします。
Updateメソッドを以下のように書き換えます。
void Update () {
// キーの入力方向を取得する
float horizontal = Input.GetAxis("Horizontal");
// キャラクターに加える力にキーの方向を反映させる
this._charactor.rigidbody2D.AddForce(Vector2.right * 10f * horizontal);
}
ゲームを実行すると、キー操作に合わせてキャラクターが移動するのが分かると思います。
コードの解説
ほんの少しの修正で、キー入力でキャラクターを移動させることができました。このように少ない手間でゲームの処理が追加できるところがUnityの2Dゲーム開発機能の魅力です。
Inputクラス
入力を取得します。今回はGetAxis("Horizontal")として水平方向の入力を取得しました。キー操作が左方向の場合horizontalには-1が、右方向の場合には1が入ります。
AddForceメソッドの方向にhorizontalを掛け合わせてあげることで、右方向の力と左方向の力を分けることができます。
まとめ
Unityの2Dゲーム開発機能によるプログラミングはいかがでしたか。短いコードでキャラクターが左右に動いたことに驚かれたのではないでしょうか。次回はキャラクターのジャンプ処理を実装する方法を紹介します。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
西村 誠(ニシムラ マコト)
Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
