GUI操作系コマンド
http://madnesslabo.net/utage/?page_id=3406
上記のページを参考に、自作UIを表示させようとしたのですが、「はじめから」ボタンを押した直後に以下のエラーが出て画面が暗転し、ゲーム進行不可になってしまいました。
NullReferenceException: Object reference not set to an instance of an object
Utage.BinaryUtil.WriteLocalTransform (UnityEngine.Transform transform, System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:188)
Utage.BinaryUtil.WriteRectTransfom (UnityEngine.RectTransform rectTransform, System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:290)
Utage.AdvGuiBase.WriteChanged (System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:73)
Utage.AdvGuiBase.Write (System.IO.BinaryWriter writer) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:66)
Utage.BinaryUtil.BinaryWrite (System.Action`1 Write) (at Assets/Utage/Scripts/GameLib/Util/BinaryUtil.cs:65)
Utage.AdvGuiBase.ToBuffer () (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:49)
Utage.AdvGuiBase..ctor (UnityEngine.GameObject target) (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiBase.cs:42)
Utage.AdvGuiManager.Awake () (at Assets/Utage/Scripts/ADV/UI/GUI/AdvGuiManager.cs:34)
UnityEngine.GameObject:SetActive(Boolean)
Utage.AdvUguiManager:Open() (at Assets/Utage/Scripts/ADV/UI/AdvUguiManager.cs:37)
Utage.<CoStartScenario>c__Iterator8:MoveNext() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:714)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Utage.AdvEngine:StartScenario(String, Int32) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:704)
Utage.<CoStartGameSub>c__Iterator7:MoveNext() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:639)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
Utage.AdvEngine:StartGameSub(String) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:629)
Utage.AdvEngine:StartGame(String) (at Assets/Utage/Scripts/ADV/AdvEngine.cs:624)
Utage.AdvEngine:StartGame() (at Assets/Utage/Scripts/ADV/AdvEngine.cs:615)
<CoWaitOpen>c__Iterator3A:MoveNext() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:165)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
UtageUguiMainGame:OnOpen() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:150)
UnityEngine.GameObject:SendMessage(String, SendMessageOptions)
Utage.UguiView:Open(UguiView) (at Assets/Utage/Scripts/GameLib/UI/View/UguiView.cs:91)
Utage.UguiView:Open() (at Assets/Utage/Scripts/GameLib/UI/View/UguiView.cs:74)
UtageUguiMainGame:OpenStartGame() (at Assets/Utage/Scripts/TemplateUI/UtageUguiMainGame.cs:102)
UtageUguiTitle:OnTapStart() (at Assets/Utage/Scripts/TemplateUI/UtageUguiTitle.cs:54)
UnityEngine.EventSystems.EventSystem:Update()
自作UIは、空のゲームオブジェクトをフォルダ代わりにして使っていたのですが、その親フォルダのコンポーネントがTransformでした。
TransformをRect Transformにすると、エラーが解消されました。
手順は以下の通りです。
1.Add Componetをクリックして、Rect Transformを検索
2.Rect Transformをクリックすると、TransformがRect Transformに変更される
3.自分のゲームに合わせてRect Transformコンポーネント内の数値を調整する