안녕하세요.
처음 Toggle UI에 초기값을 스크립트를 통해 넣으려면 혼란스러운 점을 발견해서, 그거에 관련해서 넣는 방법에 대해 적으려고 합니다.
Toggle에 초기값을 에디터상에서 셋팅을 하려면 IsOn값을 변경하면 됩니다.
Is On상태에 대해 check 활성화 / 비활성화 상태가 됩니다.
스크립트에서도 마찬가지로 void Start()에서 초기값을 이런식으로 셋팅할 수 있습니다.
m_goToggle = GameObject.Find("Canvas/Toggle");
m_goToggle.GetComponent().isOn = true;
그리고 이벤트도 OnChangeToggle 함수를 연결했습니다.
public void OnChangeToggle(bool bActive)
{
m_bToggle = !m_bToggle ;
}
이렇게 연결했을 경우 토글값이 계속 변경이 되어 확인해보니,
에디터상에서 Is On 초기값과 스크립트 Start()함수에서 "m_goToggle.GetComponent().isOn = true"이 다를 경우
"m_goToggle.GetComponent().isOn = true"구문에서, OnChangeToggle 함수가 호출되는 현상이 발생했습니다.
(On 초기값과 스크립트 Start()함수에서 "m_goToggle.GetComponent().isOn = true"이 같은 경우는 OnChangeToggle가
호출되지 않습니다.)
그래서, 이렇게 구현을 해야합니다.
public void OnChangeToggle(bool bActive)
{
m_bToggle = bActive ;
}
혹시 이것도 문제가 발생한다면,
public void OnChangeToggle(bool bActive)
{
m_bToggle = m_goToggle.GetComponent().isOn;
}
이렇게 구현해보면 됩니다.
'개발공부 > 유니티' 카테고리의 다른 글
[Unity] 오브젝트를 키보드 이동 (0) | 2019.10.08 |
---|---|
[Unity] 유니티 마우스 클릭 객체 이동 (0) | 2019.10.07 |
[Unity] 유니티 Toogle UI로 ON/OFF UI 만들기 (0) | 2019.10.04 |
[Unity] 유니티 구글 애드몹 광고 넣기(Google AdMob)(전면 광고) (1) | 2019.10.03 |
[Unity] 유니티에서 게임 종료 & 비활성화 처리 (0) | 2019.09.17 |