언리얼엔진(UE)
[UE] 숫자 야구 게임 #2 (함수 중복 호출 문제해결)
2h1824
2025. 3. 17. 22:06
1. 문제 상황
- 클라이언트의 입력과 서버의 3자리 난수를 비교하여 판정하는 함수를 호출하는 이벤트 작성 중
- 현재 ResultJudgment 함수의 실행 결과를 출력하는 부분이 2번 중복되어 출력되는 상황
2. 해결 과정
- 코드에 이상이 있나 확인
ㅡ> 로그를 추가하며 확인해 보아도 함수 호출 자체가 2번 되는 것이지 함수 내에 이상이 있어 보이진 않음 - 의심가는 중복 호출 원인: 블루프린트에서 함수 자체를 2번 호출하는 것일 가능성이 있음
- 블루 프린트 확인
ㅡ> 현재 이벤트 구성이 서버에 존재하는 모든 클라이언트에게 Got BroadCast 함수를 호출시키는 형태
ㅡ> 즉, For Each Loop 노드 뒤에 위치한 노드들은 클라이언트 수만큼 호출되는 형태
- Sequence로 모든 클라이언트에게 호출해야 하는 함수의 호출을 먼저 진행
- 이후 클라이언트의 입력에 따른 판정을 위해 ResultJudgment 함수 따로 호출
ㅡ> 이를 통해 한 번 호출되도록 보장
- 디버깅을 위해 잠시 화면에 서버측의 3자리 난수 출력
- 입력에 대한 판정 출력이 단 한 번 이루어짐
- 더불어 이전에 작성했던 판정 관련 로직이 정상 작동하는 것을 확인
3. 정리
- 입력에 대한 판정 로직 수정
- 중복 출력 문제 해결
참고자료