한 번에 UGUI를 생성하는 부품

9385 단어 uGUIUnityC#
페이스북의 유닛이 서로 돕는 곳에서 이런 질문을 했다.

글쎄, 뭘 하고 싶은지 디버깅 모드용 UI를 만들려고 했죠.
필요한 부분만 코드로 생성하면 됩니다.
결과적으로 정비가 안 된 것 같아요.
시간이 없기 때문에 찾은 링크 포럼의 내용을 참고하십시오
나 혼자 해결했어.
일부 RenderMode 수정 사항이 있어서 변경되었습니다.
uGUITest.cs
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI;

public class uGUITest : MonoBehaviour
{
    private void Start()
    {
        if (FindObjectOfType<EventSystem>() == null)
        {
            var es = new GameObject("EventSystem", typeof(EventSystem));
            es.AddComponent<StandaloneInputModule>();
        }

        var canvasObject = new GameObject("Canvas");
        var canvas = canvasObject.AddComponent<Canvas>();
        canvasObject.AddComponent<GraphicRaycaster>();
        canvas.renderMode = RenderMode.ScreenSpaceOverlay;

        var buttonObject = new GameObject("Button");
        var image = buttonObject.AddComponent<Image>();
        image.transform.parent = canvas.transform;
        image.rectTransform.sizeDelta = new Vector2(180, 50);
        image.rectTransform.anchoredPosition = Vector3.zero;
        image.color = new Color(1f, .3f, .3f, .5f);

        var button = buttonObject.AddComponent<Button>();
        button.targetGraphic = image;
        button.onClick.AddListener(() => Debug.Log(Time.time));

        var textObject = new GameObject("Text");
        textObject.transform.parent = buttonObject.transform;
        var text = textObject.AddComponent<Text>();
        text.rectTransform.sizeDelta = Vector2.zero;
        text.rectTransform.anchorMin = Vector2.zero;
        text.rectTransform.anchorMax = Vector2.one;
        text.rectTransform.anchoredPosition = new Vector2(.5f, .5f);
        text.text = "Yo 世界!";
        text.font = Resources.FindObjectsOfTypeAll<Font>()[0];
        text.fontSize = 20;
        text.color = Color.yellow;
        text.alignment = TextAnchor.MiddleCenter;
    }
}
이 코드가 비어 있는 경우
하나의 단추의 생성 메커니즘을 형성하였다.
하면, 만약, 만약...

이렇게 돼서
나는 이것이 매우 편리하다고 생각한다. 만약 EventSystem이 없다면 만들어라!처음엔 익숙하지 않았던 자신에게 너무 좋다.
...여기까지 썼는데 원래 UGUI는 이렇게 사용하지 않나요? deck이 쓰는 UI는 계속 OngUI 같은 거예요. 그러다 깼어요(웃음)
네.

좋은 웹페이지 즐겨찾기