CodeZine(コードジン)

特集ページ一覧

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

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

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2014/11/13 14:00
目次

デバッグ実行

 ここまで修正したらデバッグ実行します。

 ソースコードのStartメソッドの終わりにブレークポイントを設置します。ブレークポイントの設置はコードの下画像の位置をクリックすることで行います。その結果、赤い丸印としてブレークポイントが表示されます。

ブレークポイントの設置
ブレークポイントの設置

 Visual Studio 2013 Tools for Unityを導入したVisual Studioの場合、画像のように「Attach to Unity」というボタンがありますので、それをクリックします(MonoDevelopでも同様のことができます)。

Attach to Unity
Attach to Unity

 Unity側でゲームを開始すると、以下のようにブレークポイントを設置した場所でプログラムが停止します。

ブレークポイントでの停止
ブレークポイントでの停止

 停止した時点の変数を確認することもできます。

ブレークポイント停止時の変数
ブレークポイント停止時の変数

 ブレークポイントで停止した状態から再開します。

 「Attach to Unity」ボタンがあった位置に「続行」というボタンが表示されているので、それをクリックします。

プログラムを再開する
プログラムを再開する

 続行するとすると、キャラクターが段々と画面左向きに移動していきます。

実行結果。キャラクターが移動していく
実行結果。キャラクターが移動していく

処理内容の解説

 ここまでの処理を解説します。

MonoBehaviourクラス

 Unityで追加されたScriptはMonoBehaviourを継承しています。GameManagerクラスの初期コードのように、MonoBehaviourクラスはStartとUpdateという2つの便利なメソッドを提供します。

Startメソッド

 GameObjectが作成されたタイミングで呼び出されるメソッドです。多くの初期化処理はStartメソッドに記述されます。今回のコードではcharactorと名前を付けられたGameObjectを取得してクラス変数に格納しています。

Updateメソッド

 ゲームが更新されるタイミングで呼び出されるメソッドです。Updateメソッドはゲームの中に連続して呼び出され続けます。Updateメソッドの中で画面の更新、プログラミングの判定などを記述することでゲームが動作します。

更新処理について

 厳密にいうと、Unityの2Dゲーム開発機能の更新には描画系の更新と物理演算などの更新は異なるメソッドで行うのですが、今回は分かりやすさを重視してUpdateメソッドにすべての更新処理を記述しています。

 この辺の書き分けは後の回で紹介していこうと思います。

GameObject.Findメソッド

 GameObjectクラスは、文字通りゲーム内に配置されたGameObject(スプライトやスクリプト)を操作するクラスです。

 Findメソッドは引数に指定したGameObjectをScene内から取得します。

rigidbody2D.AddForceメソッド

 rigidbody2D.AddForceメソッドは対象のGameObjectに力を加える(AddForceする)メソッドです。Updateメソッド内で定期的にこの処理が呼び出されるため、キャラクターは少しずつ左に移動していきます。

 第2回の記事でキャラクターにRigidbody 2Dというコンポーネントを追加したことを思い出してください。第2回ではRigidbody 2Dを追加することでキャラクターは重力の影響を受け落下するようになりましたが、今回のようにプログラムで力を加えることでキャラクターを動かすこともできます。

Vector2

 2次元のベクトルを表します。Vector2.rightで右方向のベクトルを取得できます。今回はそれにマイナスの値をかけることでキャラクターを左に移動させています。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:速習 Unity 2Dゲーム開発

もっと読む

著者プロフィール

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

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

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5