🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

button 눌렀을 때 오류 발생

20.07.25 21:08 작성 조회수 754

2

제가 작성한 코드이구요, 이렇게 하고 실행하면 버튼을 눌렀을 경우 점수가 올라가야 하는데

버튼을 누르면 이러한 오류가 발생합니다. 이 전에 buttonclicked 이벤트 발생하게 하는 건 됐는데, 이게 안 돼요 ㅠ.ㅠ 도와주세요 

답변 10

·

답변을 작성해보세요.

3

우선 유니티 2020.~ 최신 버전으로 하실 때는
이전에 발생 안하던 버그들이 몇개 생깁니다.
OnUpdate가 InputManager Init보다 먼저 호출되는 것 같네요.

먼저 위와 같이 EventSystem.current 널 체크를 추가하시기 바랍니다.

그 다음 위 질문에서 나온 Text를 추가해주신 다음.

프리팹에서도 드래그-드롭으로 점수 텍스트를 연결해주시기 바랍니다.

완성! :)

0

kluze님의 프로필

kluze

2021.09.27

2020.3.4f1을 사용하고 있습니다. 위의 해결책대로 그대로 따라하였는데 여전히

NullReferenceException: Object reference not set to an instance of an object

UI_Button.OnButtonClicked () (at Assets/Scripts/UI/UI_Button.cs:16)

UnityEngine.Events.InvokableCall.Invoke () (at <9baebf9af86541678fd15bfdbf5f26eb>:0)

UnityEngine.Events.UnityEvent.Invoke () (at <9baebf9af86541678fd15bfdbf5f26eb>:0)

UnityEngine.UI.Button.Press () (at 

라고 오류가 발생합니다.

다른해결방법은 없을까요?

NULL 크래시는 어떤 아이가 NULL인지를 살펴보고, 원인을 파악해보면 됩니다.
다시 한 번 살펴봐도 원인을 모르겠으면 전체 프로젝트 압축 후
rookiss@naver.com로 보내주시기 바랍니다.


조금 미묘한 상황인데요.
실제 Scene에 배치된 UI_Button을 살펴보면,
OnClick() 쪽에 연결된 Object가 Prefab의 UI_Button 오브젝트로 되어 있습니다.

Prefab을 Instantiate에서 사용하지 않고
Scene에 배치된 아이를 바로 사용하기 때문에
아래와 같이 Scene에 배치된 애 것으로 교체해주시면 되겠습니다.

 

kluze님의 프로필

kluze

2021.09.28

답변 감사합니다 해결했습니다!

0

gudahrl46님의 프로필

gudahrl46

2021.01.17

늦은 시간임에도 불구하고 친절한 답변 너무 감사합니다!!!!

0

gudahrl46님의 프로필

gudahrl46

2021.01.17

보냈습니다! 감사합니다!ㅠㅠ

0

너무 오래돼서 기억이 잘 안나는데 메일로 압축해서
rookiss@naver.com로 보내주시기 바랍니다.

0

gudahrl46님의 프로필

gudahrl46

2021.01.16

저도 같은 오류가 발생하는데 해결방법은 어디를 참고하면 좋을까요?

0

이나경님의 프로필

이나경

질문자

2020.07.27

보냈어요. 감사합니다 ㅠ

0

메일로 압축해서 보내주시면 살펴볼게요

rookiss@naver.com으로 부탁드립니다

0

이나경님의 프로필

이나경

질문자

2020.07.26

연결했는데도 같은 오류가 발생해요............ ㅠㅠ 어떻게 해야 하나요

0

에러 로그를 보니 18번째 줄에서 null 크래시가 발생했네요.
_text가 null이라서 그런 것 같은데,
Text를 찾아서 실제로 유니티 UI에서
드래그 드롭으로 연결을 시켜줘야 합니다.
(강의에서 13:30초 부분을 참고 바랍니다)

채널톡 아이콘