libro
www.tuyano.com
C#ではじめるUnityプログラミング入門

C#を使った開発の基本を覚えよう (5/5)

作成:2014-08-23 09:57
更新:2014-08-23 09:57

■StartメソッドとUpdateメソッド

このMonoBehaviourクラスは、コンポーネントしてゲームオブジェクトに組み込まれ、必要に応じてさまざまなイベントのメッセージが送られてきます。このメッセージに対応するメソッドを用意することで、そのゲームオブジェクトのイベント処理を組み込むことができます。

ということは、「どんなイベントでどういうメッセージが送られ、それに対応するメソッドはどう書けばいいか」を理解することで、さまざまなイベント処理が行えるようになる、ということになりますね。

デフォルトでは、クラスには2つのメソッドが用意されていました。これらは、もっとも多用されるイベントのメッセージ用メソッドなのです。


●Startメソッド
これは、初期化のためのメソッドです。Startメソッドは、シーンが開始され、そのスクリプトが組み込まれたゲームオブジェクトの動作が開始される際に一度だけ呼び出されます。ここで、必要な変数の初期化などの処理を用意しておけばいいでしょう。


●Updateメソッド
これは、実際にシーンがプレイされている際の処理を行うためのものです。これは、シーンが更新される際に呼び出されるものなのです。


Unityのシーンは、「フレーム」と呼ばれるものが高速に切り替え表示されることで動いています。このフレームが切り替わり表示が更新される際に発生するのがUpdateイベントです。このUpdateメソッドに処理を用意することで、画面が更新される際の処理を行うことができます。

更新する際のイベントですから、このUpdateイベントは、シーンを実行している間、常に連続発生している、という点を忘れないで下さい。


――では、実際にちょっとした処理を実行してみましょう。下のリスト欄がその例です。これを記述し、シーンを実行すると、Cubeがゆっくりと回転していきます。ここでは回転角度を示すnumフィールドを用意し、これを使ってCubeを回転させています。Startメソッドでnumに代入している値をいろいろと書き換えてみましょう。回転スピードが変わりますよ。

ここで行っているのは、ゲームオブジェクトを回転させる処理です。では次回は、これら「ゲームオブジェクトの位置や向きなどを操作する」ということから説明していくことにしましょう。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

using UnityEngine;
using System.Collections;

public class myscript : MonoBehaviour {
    private float num;

    // Use this for initialization
    void Start () {
        num = 1.0f;
    }
    
    // Update is called once per frame
    void Update () {
        this.transform.Rotate(num, num, num);
    }
}

※関連コンテンツ

「C#ではじめるUnityプログラミング入門」に戻る