http://wiki.unity3d.com/index.php/AManagerClass#Javascript_-_AManager.js
UnityScriptだけなぜかプロパティがない・・。
このようにプロパティ版で書きかえてみた。
「public static function get instance():AManager {」が具体的な箇所
#pragma strict import System.Collections; public class AManager extends MonoBehaviour { /// AManager is a singleton. /// To avoid having to manually link an instance to every class that needs it, it has a static variable called /// instance, so other objects that need to access it can just call: /// AManager.instance.DoSomeThing(); /// private static var s_Instance : AManager; public static function get instance():AManager { s_Instance = FindObjectOfType(AManager); // This is where the magic happens. // FindObjectOfType(...) returns the first AManager object in the scene. if (s_Instance == null) Debug.Log ("Could not locate an AManager object. \n You have to have exactly one AManager in the scene."); return s_Instance; } // Ensure that the instance is destroyed when the game is stopped in the editor. function OnApplicationQuit() { s_Instance = null; } }
このようにして、継承し,
public class Manager extends AManager { }
このように使ってみるが、
private static var _aManaget:AManager; _aManaget = Manager.instance;
staticつけてるのにプロパティがstaticだと認識されない・・・
BCE0020: An instance of type 'AManager' is required to access non static member 'instance'.
ここでも書けないぞって言ってやり取りがある。
URL:http://forum.unity3d.com/threads/99568-UnityScript-Getter-Setter-Are-they-supposed-to-work