Home

Awesome

license release GitHub

ugui-script-creator

Description

ugui-script-creatorはuGUIをスクリプトで構築するためのAssetです

※ 独自のスプライトを使用する場合やエディタ実行のみで使用する場合はResources/ugui-script-creatorフォルダを削除していただいても問題ありません

Demo

実行結果

Install

releasesからugui-script-creator.unitypackageをダウンロードしてプロジェクトにインポートしてください

Example

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UI.Utility;


public class Example : MonoBehaviour
{
    #region event
    private void Start()
    {
        // EventSystemが存在しない場合一緒に生成します
        Canvas canvas = UICreator.CreateCanvas();


        // キャンバスの子としてテキストを生成する
        Text text = UICreator.CreateText(canvas.gameObject);
        text.rectTransform.localPosition = Vector3.left * 140f;
        text.text = "Hello World!!";
        text.alignment = TextAnchor.MiddleCenter;
        text.color = Color.green;

        // オブジェクト名やコンポーネントの初期値を設定する
        Dropdown dropdown = UICreator.CreateDropdown(canvas.gameObject, "Gender", "性別");
        dropdown.GetComponent<RectTransform>().localPosition = Vector3.right * 140f;
        dropdown.options.Clear();
        dropdown.options.Add(new Dropdown.OptionData { text = "男性" });
        dropdown.options.Add(new Dropdown.OptionData { text = "女性" });
    }
    #endregion
}

実行結果

using UnityEngine;
using UnityEngine.UI;
using UnityEngine.UI.Utility;
using UniRx;


public class Example : MonoBehaviour
{
    #region event
    private void Start()
    {
        Canvas canvas = UICreator.CreateCanvas();


        Button button = UICreator.CreateButton(canvas.gameObject, "Random", "ランダム");
        button.GetComponent<RectTransform>().localPosition = Vector3.left * 140f;
        button.OnClickAsObservable()
            .Subscribe(_ => Camera.main.backgroundColor = new Color(Random.Range(0f, 1f), Random.Range(0f, 1f), Random.Range(0f, 1f)));

        Image image = UICreator.CreateImage(canvas.gameObject, "Background");
        image.rectTransform.localPosition = Vector3.right * 140f;
        image.color = new Color(250f / 255f, 120f / 255f, 255f / 255f);
        Toggle toggle = UICreator.CreateToggle(image.gameObject, "Interactable", "Interactable");
        toggle.GetComponent<RectTransform>().localPosition = Vector3.right * 30f;

        toggle.OnValueChangedAsObservable()
            .Subscribe(interactable => button.interactable = interactable);
    }
    #endregion
}

実行結果

Reference

メソッド名機能備考
CreateCanvasCanvasを生成するEventSystemがシーン上に存在しない場合は生成する
CreateEventSystemEventSystemを生成する
CreatePanelPanelを生成する
CreateButtonButtonを生成する
CreateTextTextを生成する
CreateImageImageを生成する
CreateRawImageRawImageを生成する
CreateSliderSliderを生成する
CreateToggleToggleを生成する
CreateInputFieldInputFieldを生成する
CreateDropdownDropdownを生成する
CreateScrollViewScrollViewを生成する

Use License

ugui-script-creatorはUnity-Technologies / UIをベースに作成しています

Copyright (c) 2014-2015, Unity Technologies