언리얼엔진(UE)

[언리얼엔진] 3일차

2h1824 2024. 12. 18. 19:57

개요

블루 프린트를 이용한 비주얼 스크립팅 ㅡ> 간단한 게임 만들기

  1. 텍스트 슈팅 게임 버그 수정
  2. 텍스트 슈팅 게임 기능 추가
  3. while문을 이용한 구구단
  4. 가위바위보 게임

TIL

1. 텍스트 슈팅 게임 버그 수정

텍스트 슈팅 게임 BP

  1. 잔여 탄약 0발에서도 총알 발사
  2. 총알이 가득 찬 상태에서도 재장전되는 버그

총알 발사 버그 예외 처리 BP

잔여 탄약이 0발이라면 발사가 불가능 하도록 '>=' 연산자와 Branch를 삽입해 'Bullet'의 값이 0보다 크거나 같은 경우에만 총알이 줄어들도록 버그 수정.

재장전 기능 BP

R키를 누르는 이벤트 발생 시 'Bullet' 값이 30(가득 찬 상태)가 아닌 경우에만 재장전 기능이 수행되도록 '!=' 연산자와 Branch를 사용하여 버그 수정. 가득 찬 상태의 경우 재장전 문구와는 다르게 가득 찼다는 문구 출력.

 

2. 텍스트 슈팅 게임 기능 추가

  1. 총알 피격 기능 ㅡ> 총알 피격 시 'Hp' 감소
  2. 체력 회복 기능 ㅡ> 특정 키(H) 입력 시 'Hp' 증가

텍스트 슈팅 게임 총알 피격 기능 BP

1. 총알 피격 시 'Hp' 값을 Damage만큼 감소시킨 후 이 값이 0보다 작은지 확인

2. Branch를 이용해 조건 충족 여부 확인

3. 'Hp' 값이 0 초과일 때, 'Hp'값을 총알 피격 시 Damage 값만큼 감소한 'Hp'로 업데이트 후 값 출력

4. 'Hp'값이 0 이하일 때, 'Hp'값을 0으로 업데이트한 후 값 출력

텍스트 슈팅 게임 회복 기능 BP

1. H키 입력 시 힐 기능 작동

2. 업데이트 될 'Hp'값이 100이하인지 조건 확인

3. 조건 만족 ㅡ> 'Hp' 값을 5만큼 증가시켜 업데이트 후 값 출력

4. 조건 불만족(100초과) ㅡ> 'Hp'값을 100(최댓값)으로 업데이트한 후 값 출력

 

3. While 문을 이용한 구구단 

 

구구단 게임 BP

1. G키 입력 시 구구단 2단 ~ 9단 모두 출력

2. 단에 해당하는 A값이 9 이하인 조건에서 첫번째 while문 동작 (A의 초기값 : 2)

3. 두번째 while문은 곱해지는 수 B가 9 미만인 경우에만 동작 (B의 초기값 : 0) ㅡ> A X B 결과 출력 및 B의 값 1만큼 상승

4. 두번째 while문의 조건이 거짓일 때(9까지 모두 곱한 경우) ㅡ> A의 값 1만큼 증가(단 상승) ㅡ> B의 값 0으로 초기화

5. 첫번째 while문 (A<=9) 인 경우 다시 작동

6. 첫번째 while문이 조건 불만족 시 중지 ㅡ> 9단까지 모두 출력 후 중지

 

4. 가위바위보 게임

가위바위보 게임 BP

1. Player의 값 지정을 위해 키보드 1, 2, 3 입력 ㅡ> 순서대로 바위, 가위, 보 매칭

2. Enemy의 값을 Random integer 함수를 이용해 지정 ㅡ> 0~2까지의 랜덤 변수 선택 후, enum(EItem)으로 변환하여 값 업데이트

3. Player의 값과 Enemy의 값이 같은지 확인  ㅡ> 같은 경우 비겼다는 문구 출력

4. 같지 않다면 switch on을 이용해 Player의 값 3가지(주먹, 가위, 보)에 따른 Branch 3개 설정. 

5. Enemy 값이 Paper, Rock인 경우를 Branch 조건에 연결

6. 각 조건의 참, 거짓에 따른 알맞은 승리, 패배 문구 출력

가위바위보 게임 BP에 나오는 Choice 커스텀 Event

해당 'Choice' Event 호출 시, Player와 Enemy의 값(가위, 바위, 보)을 차례로 출력.