유니티 UI 스크립트 질문

유니티 UI 스크립트 질문

작성일 2024.03.09댓글 1건
    게시물 수정 , 삭제는 로그인 필요

현재 간단한 게임을 혼자 독학해서 만들고 있습니다.

듣고 싶은 수업을 지정한 뒤, 수치를 올리는 형식의 게임을 만들기 위해 UI를 구성 중인데 도움을 얻고 싶어서 질문 드립니다.


경우 1


1) 이런 식으로 UI가 구성되어 있다고 가정하겠습니다.






2) 선택 1을 누르면 빈칸 1에 선택지가 들어가게 됩니다.





3) 이 때, 선택 1이 들어간 빈칸이었던 것을 누르면 선택 1이 해제되고, 다시 빈 칸으로 돌아갑니다.





4) 똑같은 선택 1을 넣을 경우, 빈칸 2에 선택 1이 차게됩니다.


경우 2



1) 선택 1을 눌러, 빈칸 1에 선택 1을 넣습니다.




2) 선택 2를 누르면 이미 차있는 빈칸 1(선택 1이 들어가있는)이 아닌, 빈칸 2에 선택 2가 들어가게 됩니다.


 


3) 두 빈 칸이 모두 채워져 있는 경우, 선택 3를 눌러도 아무런 변화가 없습니다.

현재 빈칸 1의 자식 컴포넌트들의 개수를 찾아 1개가 SetActive중이라면 다른 것들이 채워지지 않게되도록
코드를 생각하고 있지만, 틀렸거나 더 좋은 방법이 있다면 알려주셨으면 좋겠습니다! 감사합니다.


#유니티 ui #유니티 ui 애니메이션 #유니티 ui 만들기 #유니티 ui 파티클 #유니티 ui 순서 #유니티 ui 마스크 #유니티 ui 크기 자동 조절 #유니티 ui toolkit #유니티 ui 해상도 대응 #유니티 ui 가려짐

profile_image 익명 작성일 -

안녕하세요! UI를 구성하는데 관심이 많으시군요. 제가 이해한 바로는, 선택지를 누를 때마다 빈칸에 선택지가 들어가거나 바뀌는 기능을 구현하고 싶으시다는 것이 맞나요?

이런 상황을 처리하기 위해서는 각 선택지에 대한 상태를 관리하는 스크립트를 작성해야 합니다. Unity에서 UI를 조작할 때는 주로 `UnityEngine.UI` 네임스페이스를 사용하게 됩니다.

예를들어, 각 빈칸에 대한 버튼을 만들고, 해당 버튼을 누를 때마다 그 상태를 변경하는 스크립트를 작성해야 합니다. 선택지를 저장하는 변수를 만들어서 버튼을 누를 때마다 해당 변수값을 변경하고, UI를 업데이트하는 방식으로 구현할 수 있습니다.

이를 위해 간단한 예시를 들어보겠습니다.

```csharp

using UnityEngine;

using UnityEngine.UI;

public class ChoiceManager : MonoBehaviour

{

public Text choice1Text;

public Text choice2Text;

private bool isChoice1Selected = false;

private bool isChoice2Selected = false;

public void SelectChoice1()

{

isChoice1Selected = !isChoice1Selected;

isChoice2Selected = false;

UpdateUI();

}

public void SelectChoice2()

{

isChoice2Selected = !isChoice2Selected;

isChoice1Selected = false;

UpdateUI();

}

private void UpdateUI()

{

choice1Text.text = isChoice1Selected ? 선택 1 : ;

choice2Text.text = isChoice2Selected ? 선택 2 : ;

}

}

```

위 스크립트는 간단한 선택지를 관리하는 예제입니다. 각 선택지 버튼을 누를 때마다 선택 상태가 변경되고, UI가 업데이트됩니다. 이를 참고하여 원하시는 기능을 구현해보시기 바랍니다.

더 깊이있는 기능이 필요하다면 상태 패턴(State Pattern)이나 상태 머신(State Machine)을 고려해보실 수도 있습니다. 이를 활용하면 보다 복잡한 UI 상태 관리도 효율적으로 처리할 수 있습니다. 부족한 부분이 있다면 추가적인 질문을 해주시면 더 자세히 안내해 드리도록 하겠습니다.

유니티 UI 질문

어떤 버튼을 누르면 UI 이미지가 바뀌는 스크립트를 짜고 싶은데 어렵습니다. (완전 뉴비) 예를 들어 1번 버튼을 누르면 1번 이미지가 출력되고, 2번 버튼을 누르면 2번...

유니티 UI 질문

... 스크립트내에서 UI를 어떻게 호출해야하는지 또 그걸 어떻게 활용해야하는지를 잘... 그냥 구굴링에 "유니티 Text출력"이라고만 검색하셔도 방법이 쫘~ 나옵니다. 갓...

유니티 스크립트(코드) 질문

유니티에서 두번째사진처럼 코드를 짜면... 만드는 스크립트 두 가지에 대해서 안내해... using UnityEngine.UI; public class NewBehaviourScript : MonoBehaviour...

유니티 다른 스크립트 접근 질문

... using UnityEngine.UI; public class EnemyHpText... MaxHp; } } 이 스크립트를 Text에 넣어서 워리어라는... warrior를 유니티 에디터에서 드래그해서...

유니티 c# 스크립트 질문

유니티의 게임 오브젝트 위에 텍스트로 구구단을 출력하고 싶은데... using UnityEngine.UI; public class NewBehaviourScript : MonoBehaviour { public Text...