연습 문제 : 총알 재장전

Jaemyeong Lee·2024년 12월 7일
0

입문자를 위한 UE5

목록 보기
8/60

Format Text에 {0}이라고 작성하면 아래에 0이 생기는 것을 확인할 수 있다

해석

  • Format Text 노드는 텍스트를 동적으로 조합할 때 사용된다.
  • {0}과 같은 플레이스홀더(Placeholder)를 사용하면, 값을 넣을 수 있는 입력 핀이 생성된다.
    • 예: {0}은 첫 번째 입력값, {1}은 두 번째 입력값.

0에다가 Ammo(int값)을 연결하면 그 값이 들어간다

해석

  • 플레이스홀더 {0}Ammo 변수(정수형 값)를 연결하면, 해당 변수의 값이 텍스트에 삽입된다.
    • 예: Ammo 값이 30일 경우 → 텍스트 출력: "30".

Get - FormatText - PrintText 구조로 연결하고 실행시켰을 때 Fire Ammo 30 이라고 출력되는 것을 확인

해석

  • 노드 구성:
    1. Get 노드: Ammo 값을 가져옴.
    2. Format Text 노드: 텍스트 템플릿(예: "Fire Ammo: {0}")에 Ammo 값을 삽입.
    3. Print Text 노드: 텍스트를 화면에 출력.
  • 출력 결과: "Fire Ammo: 30".

get으로 ammo의 값을 가져와서 -1을 해주고 그 값을 set에 보내고 이 값을 count에 넣는다

해석

  • 과정 설명:
    1. Get 노드Ammo 값을 가져옴.
    2. 값을 -1 감소.
    3. 감소된 값을 Set 노드를 통해 Ammo 변수에 저장.
    4. 업데이트된 Ammo 값을 Format Text 노드에 전달하여 출력.

이 count는 format text에서 print text로 출력된다

해석

  • 감소된 Ammo 값이 Format Text 노드에 연결되고, 이를 Print Text 노드가 화면에 출력한다.

실행하면 줄어들고 있는 숫자를 확인할 수 있다. 하지만 음수까지 출력되고 있는 것이 문제이다 → 예외 체크를 해야한다

해석

  • 문제점:
    • Ammo 값이 0보다 작아질 수 있어, 음수값이 출력된다.
  • 해결 방법:
    • 예외 처리를 추가하여 Ammo가 0보다 작을 때 더 이상 감소하지 않도록 한다.

Ammo가 0보다 크다면(True)라면 이라는 것을 브랜치를 활용하여 만들어준다

해석

  • Branch 노드를 사용해 조건(Ammo > 0)에 따라 실행 흐름을 분기:
    • 조건이 True: Ammo를 감소시키고 출력.
    • 조건이 False: "No Ammo" 메시지 출력.

--의 기능이 블루프린트에도 존재한다

해석

  • 블루프린트에서 증감 연산자(--)를 사용하여 값을 직접 감소시킬 수 있다.
    • -- 노드: 입력값을 감소시키고, 결과를 반환.

그래서 이런 방식으로도 사용이 가능하다

해석

  • 증감 연산자 노드를 활용하면 Set 노드 없이도 값을 간단히 감소시킬 수 있다.
    • 예: Ammo-- → 감소된 값 반환.

R을 눌러서 재장전하는 블루프린트이다

해석

  • R 키 입력 이벤트를 처리하여 총알 재장전을 구현.

변수는 3개를 만들었다

해석

  • 재장전 기능에 필요한 변수 3가지:
    1. currentbullet: 현재 장전된 총알 수.
    2. totalbullet: 소지 중인 총알 수.
    3. reloadbullet: 한 번에 장전 가능한 최대 총알 수.

마우스를 좌클릭하여 총을 쏘는 부분

해석

  • 좌클릭 이벤트: 총을 발사하는 기능.
    • 조건: currentbullet > 0.
    • 실행: 총알 발사 시 currentbullet 값을 -1 감소.
    • 출력: currentbullet 값 출력.

R 키를 눌렀을 때 실행되는 부분

해석

  • R 키 이벤트: 재장전 기능.
    • 조건: totalbullet > 0.
    • 실행: 부족한 총알 수를 reloadbullet로 계산하여 currentbullet을 갱신.
    • 출력: 재장전 후 currentbullet 값 출력.

🌱 총알 재장전하기

재장전 과정 설명

  1. 조건 확인:

    • currentbullet이 최대값이 아니고, totalbullet이 부족하지 않은 경우 재장전 가능.
  2. 재장전 계산:

    • 필요한 총알 수: reloadbullet - currentbullet.
    • totalbullet에서 부족한 총알만큼 차감.
  3. 값 갱신 및 출력:

    • currentbullet에 필요한 총알을 추가하여 갱신.
    • 남은 totalbullet 출력.

🌱 총알 유무 판단하기

좌클릭 시 총알 부족 처리

  • Branch 노드:
    • 조건: currentbullet > 0.
    • True: 총알 발사.
    • False: "Reload Required" 출력.

💡 1씩 증가하거나 빼주는 노드

해석

  • 증감 연산 노드: 값을 1씩 증가/감소시키는 블루프린트 노드.
    • ++ 노드: 값을 1 증가.
    • -- 노드: 값을 1 감소.
    • 사용 시 별도의 Set 노드 없이 값을 갱신 가능.

예제

profile
李家네_공부방

0개의 댓글