저처럼 코드 입력하기 싫고 실행을 해보고 싶은 분들,
Ctrl+C, Ctrl+V 복사 붙여넣기 해서 사용하세요.
한 번 실행해 보면 유니티 구조적 이해에 많은 도움됩니다.
김치런 튜토리얼 영상 링크
https://www.youtube.com/watch?v=A58_FWqiekI
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Heart : MonoBehaviour
{
// 활성화된 하트(체력이 있을 때) Sprite
public Sprite OnHeart;
// 비활성화된 하트(체력이 없을 때) Sprite
public Sprite OffHeart;
// Sprite를 렌더링하는 SpriteRenderer
public SpriteRenderer SpriteRenderer;
// 이 하트 오브젝트가 담당하는 체력 순서 (1번 하트, 2번 하트 등)
public int LiveNumber;
// Start 메서드: 시작 시 호출 (현재는 비어 있음)
void Start()
{
// 필요하면 초기화 작업을 여기에 작성
}
// Update 메서드: 매 프레임 호출
void Update()
{
// 현재 플레이어의 남은 체력(lives)이 이 하트의 순서(LiveNumber) 이상인지 확인
if (GameManager.Instance.lives >= LiveNumber)
{
// 체력이 있다면 활성화된 하트 Sprite를 표시
SpriteRenderer.sprite = OnHeart;
}
else
{
// 체력이 없으면 비활성화된 하트 Sprite를 표시
SpriteRenderer.sprite = OffHeart;
}
}
}
코드 분석
하트 Sprite 전환:
GameManager.Instance.lives
값을 기준으로LiveNumber
와 비교.- 현재 체력 값이
LiveNumber
이상이면OnHeart
Sprite를, 그렇지 않으면OffHeart
Sprite를 적용.
하트의 역할:
- 각
Heart
오브젝트는 특정 체력 단계(LiveNumber)를 나타냄. - 예를 들어,
LiveNumber
가 1인 하트는 체력이 1 이상일 때 활성화 상태, 그렇지 않으면 비활성화 상태.
- 각
SpriteRenderer
:- 하트 Sprite를 화면에 렌더링하는 컴포넌트.
- Sprite를 동적으로 변경하여 체력 상태를 반영.
코드 동작
- 이 스크립트는 각 하트 오브젝트에 부착되어, 플레이어의 체력 상태를 시각적으로 나타냅니다.
GameManager
에서 관리하는lives
값이 변경되면, 하트의 활성화 상태가 동적으로 업데이트됩니다.
댓글 없음:
댓글 쓰기