TIL 쓰기전 항상 명심 할 것
작성 타이밍: 공부가 다 끝나고 쓰려고 하면 지쳐서 안쓴다. 모르는게 있을 때 즉시 적기
작성 강도: 메모가 절대로 '공부'나 '또 하나의 짐'처럼 무거워지면 안됨.
[26-06-12] 멀티플레이 이름표 실종 디버깅
- 문제상황: 채팅을 쳤는데 클라이언트 화면에 유저 이름표(Player0: )가 안 나오고 채팅 내용만 뜸.
- 원인 (이유): PlayerNameString 변수에 UPROPERTY(Replicated)가 없어서 서버가 지어준 이름이 클라이언트로 배달되지 않았음
- 해결 방법:
- 중단점 걸고 디버깅하여 CXPlayerController.cpp 의 SetChatMessageString 함수속에 PlayerNameString 변수값이 제대로 전달 되지 않는 것을 확인
- CXPlayerState.h ➡️ 변수 위에 UPROPERTY(Replicated) 붙이기
- CXPlayerState .cpp ➡️ GetLifetimeReplicatedProps 함수 안에 DOREPLIFETIME(클래스명, 변수명); 등록하기
[함수 족보] FString::RightChop()
- 한 줄 요약: 문자열의 앞에서부터 내가 원하는 개수만큼 글자를 잘라내고 남은 부분만 가져오는 함수.
- 언제 써?: Player0: 123 에서 이름표를 떼고 입력한 숫자(123)만 쏙 빼오고 싶을 때.
- 코드:
FString OriginString = TEXT("Player0: 123");
FString ResultString = OriginString.RightChop(9); // 앞에서 9칸 자르기
[함수 족보] FString::FromInt()
- 한 줄 요약:정수(int32) 숫자를 문장(FString)으로 바꿔주는 변환기
- 언제 써?:정수 숫자를 FString 변수에 저장할 때 Append랑 같이 사용되는듯?
- 코드:
FString BaseMessage = TEXT("정답은: ");
BaseMessage.Append(FString::FromInt(5));
[함수 족보] Append()
- 한 줄 요약:기존 문장 뒤에 새로운 글자를 이어 붙이는 함수
- 언제 써?:숫자야구에서 정답 숫자를 하나씩 이어 붙여서 세 자리 번호("1" ➡️ "12" ➡️ "123")를 완성해 나갈 때
- 코드는 FromInt() 보면 됨
[함수 족보] Len()
- 한 줄 요약:문자열의 길이(글자 수)가 총 몇 개인지 숫자로 세어줌.
- 언제 써?:채팅창에 너무 긴 글(예: 100글자 이상)을 쓰지 못하도록 글자 수를 제한할 때
- 코드:
if (ChatMessage.Len() <= 100) { }
[함수 족보] FMath::RandRange(최소, 최대)
- 한 줄 요약: 지정한 범위 내에서 랜덤한 숫자 하나를 뽑아주는 주사위
- 언제 써?:숫자야구에서 컴퓨터가 중복 없는 정답 번호를 무작위로 정할 때
- 코드:
[함수 족보] RemoveAt()
- 한 줄 요약: 배열에서 내가 지정한 방 번호의 데이터를 지우고, 뒤의 데이터를 앞으로 당긴다.
- 언제 써?:숫자야구에서 0~9까지 들어있는 주머니에서 한 번 뽑은 숫자를 다신 안 나오게 제거할 때
- 코드:
[함수 족보] TSet<TCHAR> 변수명;
- 한 줄 요약: 중복을 절대 허용하지 않는 특수 주머니
- 언제 써?:유저가 숫자야구에서 "112"처럼 중복된 숫자를 입력했는지 감별하고 싶을 때
- 코드:
'TIL(Today I Learned)' 카테고리의 다른 글
| 2026/06/24 (0) | 2026.06.24 |
|---|---|
| 2026/06/19 (0) | 2026.06.19 |
| 2026/06/18 (0) | 2026.06.18 |
| 2026/06/16 (0) | 2026.06.16 |
| 2026/06/15 (0) | 2026.06.15 |