メインのスクリプトを作成する
まずはゲームの全体を制御するスクリプトを1つ作成します。Unityの2Dゲーム開発機能ではスプライトなどのGameObjectがそれぞれにスクリプトを持つことができますが、あまり分散させすぎると見つけたいコードがどこに書かれているか見つけ辛くなりますので気をつけましょう。
今回はGameManagerという名前を付けたGameObjectを1つ用意して、そこにメインのプログラムコードを記述していくことにしましょう。
GameManagerの作成
GameObjectの追加
上部メニューバーの「GameObject」-「Create Empty」をクリックします。
HierarchyウィンドウにGameObjectが追加されましたので、Inspectorウィンドウで下画像のようにGameManagerと名前を変更します。
Hierarchyウィンドウの表示があわせてGameManagerに自動で変わります。
Scriptの追加
HierarchyウィンドウでGameManagerを選択した状態でInspectorウィンドウの「Add Component」をクリックします。
「New Script」をクリックしてNameを「GameManager」に、LanguageをCSharpに変更します。
「Create and Add」をクリックします。
InspectorウィンドウにGameManagerという名前のScriptが追加されたのが確認できます。
ProjectウィンドウAssetsの中にも、GameManagerという名前のスクリプトが追加されているのが確認できます。このGameManagerをクリックすると、Inspectorウィンドウでプレビューを確認することができます。
Scriptの編集
Scriptを編集してみましょう。
Projectウィンドウ内のGameManagerスクリプトをダブルクリックすると、既定のエディタが立ち上がります。私の環境ではVisual Studio 2013 Tools for Unityを導入していますのでVisual Studioが起動します(デフォルトの場合はMonoDevelopが起動するでしょう。画面の説明が異なりますが、どちらでもコードは同じです)。
GameManagerクラスの初期のコードは以下のようになっています。
public class GameManager : MonoBehaviour {
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
}
それを以下のように変更してみます。
public class GameManager : MonoBehaviour {
private GameObject _charactor;
// Use this for initialization
void Start () {
// キャラクターを取得する
this._charactor = GameObject.Find("charactor");
}
// Update is called once per frame
void Update () {
// キャラクターに力を加える
this._charactor.rigidbody2D.AddForce(Vector2.right * -10f);
}
}
