最終更新:2019-12-02 (月) 15:30:00 (1579d)
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
- JavaScript をもとにモデル化された Unity 独自設計の言語
- 静的型付け
メモ
使い方
新規作成
- Assets > Create > C# ScriptするとNewBehaviourScript.csがUnity/アセットに追加される
アタッチ
- 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>();