デバッグ実行
ここまで修正したらデバッグ実行します。
ソースコードのStartメソッドの終わりにブレークポイントを設置します。ブレークポイントの設置はコードの下画像の位置をクリックすることで行います。その結果、赤い丸印としてブレークポイントが表示されます。
Visual Studio 2013 Tools for Unityを導入したVisual Studioの場合、画像のように「Attach to Unity」というボタンがありますので、それをクリックします(MonoDevelopでも同様のことができます)。
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で右方向のベクトルを取得できます。今回はそれにマイナスの値をかけることでキャラクターを左に移動させています。

