4. スクリプトを追加しよう

C#のファイルを新規作成しよう

下記のどれかの方法で追加する事ができるようになっています。

  • メインメニューから、Assets > Create > C# Script
  • プロジェクトウィンドウから、Create > C# Script
  • プロジェクトウィンドウ内で右クリックから、Create > C# Script

作成されるスクリプトはNewBehaviourScriptという名前がついていますが、 これからCubeを回転させるのに使用するのでCubeという名前に変更しておきましょう。 開いたファイルには最初につけた名前でMonoBehaviourを継承したクラスが作成されます。

先ほど作成したC#ファイル、Cubeをクリックするとスクリプトを編集するエディタが立ち上がります。 デフォルトの状態ではMonoDevelopというエディタが立ち上がります。

生成されるスクリプトの中身を理解しよう

作成したファイル単体はダブルクリックで開く事ができますが、このプロジェクト全体のプログラムを一度に開くにはメインメニューの Assets > Open C# Project から開けるようになっています。

先ほどのCube.csファイルは開くと中身はこのような感じになっています。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Cube : MonoBehaviour
{

	// Use this for initialization
	void Start () {

	}

	// Update is called once per frame
	void Update () {

	}
}
関数概要
Start初回に一度だけ呼ばれる
Update毎フレームの更新時に呼ばれる
usingこのプログラムにライブラリを読み込んでいる
publicこのクラスやメソッド、が外からアクセスできる
//コメントアウト
クラス設計図が書かれている
メソッド何をさせたいかが書かれている
プロパティデータが持っている特質、値
MonoBehaviourUnityで扱うプログラムの基本となるクラス

ここではStartの関数の中には初回に実行したいものを、 Updateの関数の中には毎フレーム実行したいものをそれぞれ記述する事で動作するようになっています。

void Start()
{
  // ここに処理を書く
}
void Update()
{
  // ここに処理を書く
}

オブジェクトを回すスクリプトを作成しよう

下記のプログラムを入力して保存します。 アップデートする毎に、トランスフォームのRotateの関数にどれだけ回したいかの値を渡しています。 渡している値は、Vector3という値を使用していて、中身はそれぞれ(x,y,z)の値が入っています。

void Update () {
	transform.Rotate (new Vector3 (0, 10, 0));
}

オブジェクトにプログラムをアタッチして回してみよう

ヒエラルキーウィンドウでCubeを選択し、インスペクタウィンドウのAdd Componentのボタンを押して先ほど作成したスクリプトをアタッチします。

再生して確認しよう

ツールバーの再生ボタンを押すとプログラムが実行され、オブジェクトが回転を始めます。

  • ショートカット、Cmnd+P でゲームを再生できます

他にもTranslateで移動させたり、同じスクリプトを別のオブジェクトにアタッチしてみたりなどさまざまな使い方をする事ができます。色々試してみましょう。

  • 回転する方向を色々変えてみよう
  • 移動させてみよう
  • カメラも移動させてみよう