SHOEISHA iD

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

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

速習 Unity 2Dゲーム開発

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

メインのスクリプトを作成する

 まずはゲームの全体を制御するスクリプトを1つ作成します。Unityの2Dゲーム開発機能ではスプライトなどのGameObjectがそれぞれにスクリプトを持つことができますが、あまり分散させすぎると見つけたいコードがどこに書かれているか見つけ辛くなりますので気をつけましょう。

 今回はGameManagerという名前を付けたGameObjectを1つ用意して、そこにメインのプログラムコードを記述していくことにしましょう。

GameManagerの作成

GameObjectの追加

 上部メニューバーの「GameObject」-「Create Empty」をクリックします。

GameObjectの作成
GameObjectの作成

 HierarchyウィンドウにGameObjectが追加されましたので、Inspectorウィンドウで下画像のようにGameManagerと名前を変更します。

名前の変更
名前の変更

 Hierarchyウィンドウの表示があわせてGameManagerに自動で変わります。

Hierarchyウィンドウの表示も変更される
Hierarchyウィンドウの表示も変更される

Scriptの追加

 HierarchyウィンドウでGameManagerを選択した状態でInspectorウィンドウの「Add Component」をクリックします。

コンポーネントの追加
コンポーネントの追加

 「New Script」をクリックしてNameを「GameManager」に、LanguageをCSharpに変更します。

Scriptの追加
Scriptの追加

 「Create and Add」をクリックします。

 InspectorウィンドウにGameManagerという名前のScriptが追加されたのが確認できます。

Scriptが追加された
Scriptが追加された

 ProjectウィンドウAssetsの中にも、GameManagerという名前のスクリプトが追加されているのが確認できます。このGameManagerをクリックすると、Inspectorウィンドウでプレビューを確認することができます。

InspectorウィンドウでScriptのプレビュー表示
InspectorウィンドウでScriptのプレビュー表示

Scriptの編集

 Scriptを編集してみましょう。

 Projectウィンドウ内のGameManagerスクリプトをダブルクリックすると、既定のエディタが立ち上がります。私の環境ではVisual Studio 2013 Tools for Unityを導入していますのでVisual Studioが起動します(デフォルトの場合はMonoDevelopが起動するでしょう。画面の説明が異なりますが、どちらでもコードは同じです)。

 GameManagerクラスの初期のコードは以下のようになっています。

GameManagerの初期コード
public class GameManager : MonoBehaviour {

    // Use this for initialization
    void Start () {
    
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

 それを以下のように変更してみます。

GameManagerの初期コード
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);
    }
}

次のページ
処理内容の解説

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

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習 Unity 2Dゲーム開発連載記事一覧

もっと読む

この記事の著者

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

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

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

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

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/8028 2014/11/13 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング