카테고리 없음

Unity - UI 관련 잡설

zelkova 2020. 7. 30. 13:47

 

<목차로 돌아가기>

 

Component UI-TextText and InputField

Component UI-Panel

버튼만들기(공사중)

버튼사용

리스트뷰

 

 

코딩으로 GUI를 넣을 수도 있음.

        void OnGUI()
        {
            var fontSize = 50;
            GUI.skin.button.fontSize = fontSize;
            GUI.skin.label.fontSize = fontSize;

            float margin = 100;

            GUILayout.BeginArea(new Rect(margin, margin, Screen.width - margin * 2, Screen.height - margin * 2));

            switch (m_State)
            {
                case State.OriginalPrefab:
                {
                    if (GUILayout.Button($"Alternative Prefab for {GetComponent<PrefabImagePairManager>().imageLibrary[0].name}"))
                    {
                        m_State = State.ChangeToAlternativePrefab;
                    }

                    break;
                }
                case State.AlternativePrefab:
                {
                    if (GUILayout.Button($"Original Prefab for {GetComponent<PrefabImagePairManager>().imageLibrary[0].name}"))
                    {
                        m_State = State.ChangeToOriginalPrefab;
                    }

                    break;
                }
                case State.Error:
                {
                    GUILayout.Label(m_ErrorMessage);
                    break;
                }
            }
            GUILayout.EndArea();
        }

 

 

 

GUI Raycast관련 참조 소스


        void OnGUI()
        {
            var fontSize = 50;
            GUI.skin.button.fontSize = fontSize;
            GUI.skin.label.fontSize = fontSize;

            float margin = 100;

            GUILayout.BeginArea(new Rect(margin, margin, Screen.width - margin * 2, Screen.height - margin * 2));

            switch (m_State)
            {
                case State.OriginalPrefab:
                {
                    if (GUILayout.Button($"Alternative Prefab for {GetComponent<PrefabImagePairManager>().imageLibrary[0].name}"))
                    {
                        m_State = State.ChangeToAlternativePrefab;
                    }

                    break;
                }
                case State.AlternativePrefab:
                {
                    if (GUILayout.Button($"Original Prefab for {GetComponent<PrefabImagePairManager>().imageLibrary[0].name}"))
                    {
                        m_State = State.ChangeToOriginalPrefab;
                    }

                    break;
                }
                case State.Error:
                {
                    GUILayout.Label(m_ErrorMessage);
                    break;
                }
            }
            GUILayout.EndArea();
        }

- Raycast(EventSystems.PointerEventData eventData, List<RaycastResult> resultAppendList);

eventData 현재의 이벤트 데이터
resultAppendList 히트(Hit)한 오브젝트의 목록

 

 

dobby-the-house-elf.tistory.com/74 <-- 그래픽 레이케스터 관련 설명.

 

 

참조 라이브러리
lib_2020-0917_scrollrect

 

 

lib_2020-1104_TextTabChange

 

 

 

 

 

UI Event 컨트롤 하기.

참조 블로그 : 다루블로그

 

버튼 클릭말고 그림에 마우스 다운 이벤트를 넣고 싶다면 아래의 컴포넌트를 사용하는 것이 좋다.

여기서 마우스 다운 이벤트는 PointerDwon이 되겠다.

 

 

 

 

 

참조하면 좋은 에셋

swipe menu

Unity-UI-Extensions scroll

반응형