最終更新:2019-12-02 (月) 15:30:00 (1605d)  

Unity/スクリプト
Top / Unity / スクリプト

http://docs.unity3d.com/ja/current/ScriptReference/

http://docs.unity3d.com/ja/current/Manual/CreatingAndUsingScripts.html

概要

  • ゲームオブジェクトの動作はアタッチされた Components により制御されます。Unity ビルトインのコンポーネントは多目的で使用できるものの、カスタムのゲーム機能を実装するには十分でない場合が多いです。
  • Unity により Script を使用してカスタムのコンポーネントを作成し、ゲーム中のイベント開始、時間の経過に伴ったコンポーネントプロパティーの修正、ユーザー入力操作への反応が出来ます。

言語

  • Unity は 2 つのプログラミング言語をサポートしています:

C♯

  • Java や C++ に相当する、業界標準の言語
  • NewBehaviourScript.cs - UnityEngine.MonoBehaviourを継承
    using UnityEngine;
    using System.Collections;
    
    public class NewBehaviourScript : MonoBehaviour {
    	public Transform trans;
    	// Use this for initialization
    	void Start () {
    
    	}
    
    	// Update is called once per frame
    	void Update () {
    
    	}
    }

UnityScript

メモ

  • Unity 5からはスクリプトリファレンスや新規作成からBooが無くなりました。

使い方

新規作成

アタッチ

  • GameObject > CreateEmpty? で空のゲームオブジェクトを作成するとヒエラルキーパネルに追加される
  • プロジェクトパネルからヒエラルキーパネルのGameObjectにドロップしてアタッチ

プロパティの定義

  • スクリプト内でpublicなメンバを定義するとインスペクタに表示される。(C♯)
  • In UnityScript, variables are public by default unless you specify that they should be private:
  • Transform transを定義して、ヒエラルキーパネルからMain CameraをドラッグするとカメラのTransformがセットされる

プロパティ名

  • Unity では大文字あるところはスペースを足してインスペクタ上で表示します。これは表示目的だけなので、コード中は必ず変数名を使用するべきです。
    • 変数名: string myName
    • インスペクタでの表示: My Name

外部スクリプトの実行

  • gameObject.AddComponent?<Script2>();

参考