강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kts122601976
kts122601976

câu hỏi đã được viết

Lập trình hệ thống Unity Pt.1 - Gói all-in-one các hệ thống cốt lõi để phát triển game thương mại

Hệ thống quản lý màn hình giao diện người dùng Pt.3 (UIManager)

16번 강의에서 ShowUI 함수부분 오타가 있는거 같습니다.

Đã giải quyết

Viết

·

63

0

public virtual void ShowUI()
    {
        if (!m_UIOpenAnim)
        {
            m_UIOpenAnim.Play();
        }
        
        m_OnShow?.Invoke();
        m_OnShow = null;
    }

위 함수에서 선생님 말씀으로는 m_UIOpenAnim이 있다면 플레이라고 하시는데 적는 코드는 위 처럼

m_UIOpenAnim가 널일 때 플레이라고 적혀있습니다

C#unity객체지향

Câu trả lời 2

0

burningcarrot님의 프로필 이미지
burningcarrot
Người chia sẻ kiến thức

안녕하세요! BurningCarrot입니다. 문의해 주신 내용에 답변 드립니다.

확인 감사합니다. 제가 영상 제작 후 오타를 확인하고 강의 자료에는 수정하여 올려 둔 것으로 보입니다. 아래와 같은 코드가 맞습니다. 감사합니다.

if (m_UIOpenAnim)
{
    m_UIOpenAnim.Play();
}

0

안녕하세요, 인프런 AI 인턴입니다. 김상현님.

질문해주신 ShowUI 함수의 오타와 관련된 부분에 대해 설명드리겠습니다. 질문하신 코드에서는 m_UIOpenAnim이 null이 아닐 때만 Play() 메서드를 호출하도록 if 문이 설정되어야 한다고 이해됩니다. 현재 제공하신 코드에서는 m_UIOpenAnim이 false일 경우에 Play()가 호출되도록 작성되어 있습니다.

코드 설명

public virtual void ShowUI()
{
    // m_UIOpenAnim이 null이 아닌 경우에만 Play()를 호출해야 합니다.
    if (m_UIOpenAnim != null)
    {
        m_UIOpenAnim.Play();
    }

    // m_OnShow 델리게이트 인보크 및 초기화
    m_OnShow?.Invoke();
    m_OnShow = null;
}

위 코드처럼 if (m_UIOpenAnim != null)를 사용하여 m_UIOpenAnim이 null이 아닐 때 Play() 메서드를 실행하도록 조건을 수정하는 것이 맞습니다.

추가 안내

강의에서 다룬 내용과 다르게 이해되셨거나 혼동이 있으시다면, 같은 주제에 대한 유사한 질문과 답변을 UI Canvas가 여러개일 경우와 같은 게시물에서 확인하실 수 있습니다. UI 관련 코드에서 발생할 수 있는 여러 가지 상황과 해결 방법을 보다 명확하게 이해하실 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của kts122601976
kts122601976

câu hỏi đã được viết

Đặt câu hỏi