BindEvent 관련 질문 드립니다.
제가 BindEvent 함수를 이용중에 있는데, Get을 통해서 오브젝트를 가져오고 있습니다,
문제는 enum값을 따로 써주면서 BindEvent를 하면 잘 되는데, enum이 너무 많아 반복문을 써서 Event를 등록하면 잘 안돼는 현상이 발생하는데, 원인을 잘 모르겠습니다.
심지어 반복문에 i <8 이라고 써서 i가 총 7까지만 되도록 했음에도 불구하고, 저 오브젝트를 눌렀을 때 ClickStuffIcon(int) 에 8이 매게변수로 들어가고 있습니다.. 원인을 계속 찾아보고자 디버그를 했는데, 찾지 못해 질문드립니다..ㅠㅠ
답변 1
0
느낌이 딱 람다 캡처 관련 문제 같은데요.
for (int i = 0; i < 8; i++)
{
int temp = i;
BindEvent(... ClickStuffIcon(temp); });
}
요렇게 한 번 수정해서 테스트 바랍니다.
그래도 해결이 안 되면 전체 프로젝트 압축해서 rookiss@naver.com 로 보내주시기 바랍니다.
0
헉..너무 잘됩니다.. 빠른 답변 감사합니다. 혹시 실례가 되지 않는다면 람다 캡처 관련 문제가 어떤건지 알려주실 수 있을까요? 인터넷 검색해보니 내용이 복잡해보여서 만약 요악이 불가능한 내용이라면 스스로 차근차근 알아볼 수 있도록 하겠습니다. 정말 다시한번 빠른 답변 감사합니다.. 1시간동안 알아보다 못찾아서 질문했습니다..ㅠㅠ
0
람다 캡처는 람다에서 우리가 외부에서 내부로
찰칵 찍어서 넘겨준 애를 말하는데요.
가령 () => { ClickStuffIcon(i); } 에서 i라는 값은
외부에서 우리가 람다 안으로 캡처해서 넣어준 것입니다.
다만 넘겨준 값이 직관적이지 않을 때가 많은데
위의 문제 상황에서는 i라는 값을 '실시간'으로 복사해서 넘겨주지 않고,
일종의 i의 '참조값'이 전달되어, 결과적으로 모든 애들이 같은 최종값을 보게 됩니다.
람다 캡처 동작 방식이 설명으로 하기엔 조금 복잡한데
잘 요약된 아래 링크를 읽어보시기 바랍니다.
https://www.sysnet.pe.kr/2/0/10817
ResourceManager 클래스 관련 질문
1
28
2
몬스터 HP 게이지바 이동
0
21
1
매니저 관련 질문이 있습니다.
0
70
2
비쥬얼 스튜디오에서 unity연결이 없습니다.
0
76
2
UI 기능 관련 질문이 있습니다!
0
72
2
픽셀 좌표 스크린 좌표
0
50
0
전체적으로 코드 읽는게 굉장히 오래 걸리네요...
0
106
2
카메라 #2 수업 캐릭터 쓰러짐 해결
0
97
1
플레이어 움직임이 끝날때, 기울어짐 현상
0
101
1
Input 적용과 관련하여 질문 있습니다.
0
91
1
디버그 불가.. Unity에 연결 불가
0
98
1
달리기 애니메이션 에러
0
98
2
오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다
0
75
1
GetKey 오류
0
128
2
에셋을 어디에 올려두신지 알 수 있나요?
0
114
1
재귀호출? 오류나는데 왜 이래요 ?
0
179
6
Animation blending 파라미터 계산
0
75
1
newPos와 to지점이 겹쳐져야 하는거 아닌가요?
0
112
3
오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다
0
96
2
질문있습니다
0
156
2
아 이거 소스코드 같은거 없나요?
0
152
3
질문 드립니다. string.IsNullOrEmpty(name)
0
94
2
@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?
0
139
2
유니티6 NavMesh 안되는분들
1
193
1





