SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習 Unity 2Dゲーム開発

速習 Unity 2Dゲーム開発
~第3回 キャラクターの移動

速習 Unity 2Dゲーム開発 第3回

キー操作を取得する

 ゲームにスクリプトを追加することができました。スクリプトの中でキャラクターを移動させることもできました。

 今度は、ユーザーのキー操作に合わせてキャラクターを移動させてみましょう。

入力処理の取得

 キーボードの矢印キーに合わせてキャラクターを移動させることにします。

 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ゲーム開発機能によるプログラミングはいかがでしたか。短いコードでキャラクターが左右に動いたことに驚かれたのではないでしょうか。次回はキャラクターのジャンプ処理を実装する方法を紹介します。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
速習 Unity 2Dゲーム開発連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8028 2014/11/13 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー