
팀프로젝트
< 구현/수정 항목 >
[Refactor] 아이템 회전값 조정 #61
개선 목표
카메라 시점에 맞게 아이템의 회전값을 조절해 아이템이 잘 보이도록 조정합니다.
몬스터의 크기를 키워 블럭과 겹쳐질 때 자연스러워 보이도록 합니다.
블럭의 스케일을 조절해 몬스터가 겹쳐질 때 자연스러워 보이도록 합니다.
- 아이템 회전값 조절
- 맵 수정 최종
- 몬스터 스케일 조절
- 블럭 Z스케일 조절
[Fix] 승리 시 타이머 정지 #66
현재 상황 및 문제점 / 개선 목표
승리화면 출력 시 타이머가 정지하지 않습니다.
패배화면에서는 타이머가 정지하지만 승리화면에서는 타이머가 정지하지 않는 오류를 수정합니다.

=> 타이머는 GamStarted 조건이 참일때 작동됩니다.

- WinGame에 Branch를 추가해 Not GameEnded 조건이 참이라면 승리화면을 출력합니다.

- WinGame에 GameStarted를 false로 설정하는 노드를 추가해 타이머가 움직이지 않게 합니다.
[Bug] 버그 수정용 이슈 #76
최종 테스트하며 발생하는 버그를 수정하기 위한 이슈입니다.
사운드 설정 버튼의 아이콘이 안보이는 오류를 수정합니다.


WBP_Title의 Hierarchy창에서 IMG_Setting 위치 변경
- 사운드 설정 버튼 text 아이콘 날아감 수정
화면 비율에 따라 ui가 다르게 보이는 오류를 수정합니다.

WBP_Title, WBP_HP, WBP_Main에서 anchor를 설정
- ui anchor 설정
타임오버로 패배 시 몬스터가 멈추지 않아 타임오버 이후에 플레이어의 HP를 깎아버리는 오류를 수정합니다.

Win/Lose 공통 처리 노드의 끝부분에 Set Game Paused 노드를 추가하고 Pased를 활성화합니다.
타임오버로 패배 시 기본BGM이 멈추지 않고, 패배 효과음이 나오지 않는 오류를 수정합니다.

UpdateRemainingTimer 이벤트에서 타이머가 Time Remaining <= 0 조건이 참일때 실행되는 노드부분에 Stop BGM과 Spawn Sound 2D를 추가합니다.
오늘로 현재까지 발견한 버그를 전부 수정했습니다. 지금까지 만들어진 내용을 main으로 merge했습니다. 내일은 21일에 있을 발표를 위해 발표자료 제작 및 발표 준비, README 작성을 진행할 예정입니다.
코드카타
문제 - 이상한 문자 만들기
제한사항
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야한다.
- 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야한다.
헷갈렸던 것
- 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야한다.
공백을 기준으로... 짝/홀수 인덱스를 판단해야 한다는게...
공백을 기준으로 단어가 나뉘기 때문에 단어별로 첫번째 글자를 0번째 인덱스로 봐야한다는것이다.
이게 무슨 말인지 이해를 못했어서 처음엔 문자열 전체의 짝/홀수 인덱스로 판단했었다.
using namespace std;
string solution(string s) {
string answer = "";
for(int i=0; i<s.length(); i++)
{
if(s[i] != ' ')
{
if(i % 2 == 0)
{
answer+= toupper(s[i]);
}
else
{
answer += tolower(s[i]);
}
}
else
{
answer += ' ';
}
}
return answer;
}
이렇게 해도 코드 실행은 성공한다. 하지만 문제에서 요구한 제한사항을 지키지 않았기 때문에 코드를 고쳐보았다.
공백을 기준으로 단어가 나뉘고, 단어별로 인덱스를 판단해야하니까 새로운 정수형 변수 하나를 추가해보았다. 해당 변수는 0으로 초기화한다. 공백을 기준으로 인덱스가 초기화되어야 하니까... for문 수행 중 공백을 만났을때에 변수 idx를 0으로 초기화한다. 공백이 아닐때는 idx를 1씩 증가시켜서 단어의 다음 인덱스 값으로 넘어가게 한다. 이제 idx가 단어의 인덱스 값이 되었으니 if문의 조건문을 idx % 2 == 0으로 변경해서 단어별 idx값으로 짝/홀수를 판단한다.
using namespace std;
string solution(string s) {
string answer = "";
int idx = 0;
for(int i=0; i<s.length(); i++)
{
if(s[i] != ' ')
{
if(idx % 2 == 0)
{
answer+= toupper(s[i]);
idx++;
}
else
{
answer += tolower(s[i]);
idx++;
}
}
else
{
answer += ' ';
idx = 0;
}
}
return answer;
}
코드가 완성되었다. 공백을 기준으로 단어가 구분되고 단어별로 인덱스 값이 증가한다.
'내일배움캠프' 카테고리의 다른 글
| 내일배움캠프 언리얼트랙 22일차 - TextRPG 팀프로젝트 (0) | 2026.05.21 |
|---|---|
| 내일배움캠프 언리얼트랙 21일차 - 패키징 (0) | 2026.05.20 |
| 내일배움캠프 언리얼트랙 19일차 - UI (0) | 2026.05.19 |
| 내일배움캠프 언리얼트랙 18일차 - commit (0) | 2026.05.15 |
| 내일배움캠프 언리얼트랙 17일차 - git문제 (0) | 2026.05.14 |