마지막 점수올리기 부분에서 막혔습니다.
371
작성한 질문수 7

분명 OnButtonClicked 을 public로 했는데 위에 사진에는 나오질 않습니다.
유니티를 실행했을 때 버튼을 눌러도 점수는 당연히 올라가지 않고 이게 머선일인지 모르겠습니다..
제가 어떤 부분을 잘못하고 있는지 모르겠습니다
밑은 제 UI_Button 스크립트입니다
public class UI_Button : UI_Base
{
enum Buttons
{
PointButton,
}
enum Texts
{
PointText,
ScoreText,
}
enum GameObjects
{
TestObj,
}
enum Images
{
ItemIcon,
}
private void Start()
{
Bind<Button>(typeof(Buttons)); // 리플렉션 : 객체를 통해 클래스 정보를 분석해 내는 프로그래밍 기법
Bind<Text>(typeof(Texts));
Bind<GameObject>(typeof(GameObjects));
Bind<Image>(typeof(Images));
GetButton((int)Buttons.PointButton).gameObject.AddUIEvent(OnButtonClicked);
GameObject go = GetImage((int)Images.ItemIcon).gameObject;
AddUIEvent(go, (PointerEventData data) => { go.transform.position = data.position; }, Define.UIEvernt.Drag);
}
int _score = 0;
public void OnButtonClicked(PointerEventData data)
{
_score++;
GetText((int)Texts.ScoreText).text = $"점수 : {_score} 점";
}
}
답변 3
2
1)
우선 툴에서 드래그-드롭으로 함수를 연동할 때는
함수에서 아무 인자나 막 받으면 안 됩니다.
위와 같이 인자를 안 받는 버전으로 하나를 만들어주면,
정상적으로 툴에서 드래그-드롭 연동이 드는 것을 확인할 수 있습니다.
2)
PointerEventData를 받는 버전은 툴에서 드래그-드롭으로 연동하는게 아니라
자동으로 코드에서 연동이 되게 됩니다.
그럼에도 함수 콜백이 작동하지 않는 이유는
AddUIEvent 내부에서 오타를 내셔서
-= 하고 +=를 해야 하는데 이를 거꾸로 하시는 바람에
기껏 추가한 콜백 함수를 다시 제거해줘서,
호출되지 않은 것입니다.
1
위 스샷만으로는 원인 파악이 되지 않는데,
일단 cs 파일을 저장한 것이 맞는지 (*없는지) 확인해보시고
혹시 모르니 모든 문제의 해결책인 유니티 껐다켜기(aka. 껐키)를 시전해보시고
그래도 해결이 안되면 전체 프로젝트 압축해서 rookiss@naver.com로 보내주시기 바랍니다.
UI 기능 관련 질문이 있습니다!
0
32
2
픽셀 좌표 스크린 좌표
0
32
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
72
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
83
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
82
1
Input 적용과 관련하여 질문 있습니다.
0
74
1
디버그 불가.. Unity에 연결 불가
0
81
1
달리기 애니메이션 에러
0
87
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
65
1
GetKey 오류
0
109
2
에셋을 어디에 올려두신지 알 수 있나요?
0
106
1
재귀호출? 오류나는데 왜 이래요 ?
0
169
6
Animation blending 파라미터 계산
0
67
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
96
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
87
2
질문있습니다
0
143
2
아 이거 소스코드 같은거 없나요?
0
141
3
질문 드립니다. string.IsNullOrEmpty(name)
0
86
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
135
2
유니티6 NavMesh 안되는분들
1
174
1
Unity6 Unity-Chan Material 마젠타 문제 해결법
7
525
1
GetComponent<Poolable> 질문드립니다.
0
101
2
UI 불러오지 못함
0
117
2
UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.
0
155
2





