Unity 스크립팅 API 가이드
이 문서에서는 Unity 스크립팅 API의 기본 개념과 변수를 사용하여 게임 오브젝트에 컴포넌트를 추가하는 방법에 대해 설명합니다. 또한 인스펙터에서 변수를 어떻게 사용할 수 있는지에 대한 예제도 포함합니다.
스크립팅 개념
Unity에서 스크립트는 게임 오브젝트에 부착할 수 있는 자신만의 새로운 컴포넌트 타입을 생성하는 것을 의미합니다. 이를 통해 다양한 게임 로직을 구현할 수 있습니다.
변수와 인스펙터
변수는 스크립트를 통해 게임 오브젝트의 상태를 정의하는 데 사용됩니다. public으로 선언된 변수는 인스펙터에서 편집 가능합니다. 예를 들어, 다음 코드는 인스펙터에 표시될 수 있는 문자열 변수를 포함합니다:
using UnityEngine;
using System.Collections;
public class MainPlayer : MonoBehaviour
{
public string myName;
// Use this for initialization
void Start ()
{
Debug.Log("I am alive and my name is " + myName);
}
}
인스펙터 변수 규칙
변수명이 다음과 같은 규칙을 따르는 경우 인스펙터에서 더 친숙한 형태로 표시됩니다:
- 'm_' 제거
- 'k' 제거
- '_' 제거
- 첫 글자를 대문자로 변환
- 소문자와 대문자 사이에 공백 추가
- 다음 단어의 시작 부분에 있는 대문자와 소문자 사이에 공백 추가
예를 들어, 변수명이 myName
일 경우 인스펙터에서는 My Name
으로 표시됩니다.
변수의 가시성 조절
public
: 인스펙터에 표시됨SerializeField
: private으로 선언하더라도 인스펙터에 표시됨HideInInspector
: public 변수라 하더라도 인스펙터에 표시되지 않음
변수 값을 게임 실행 중에 변경할 수 있으며, 변경 사항은 즉시 반영됩니다. 게임 플레이가 끝나면 변수 값은 초기 상태로 돌아갑니다.
응용 예제
1. 스코어 시스템
간단한 점수 시스템 스크립트를 만들 수 있습니다.
using UnityEngine;
public class ScoreManager : MonoBehaviour
{
public int score;
void Start()
{
score = 0;
Debug.Log("게임이 시작되었습니다.");
}
public void AddScore(int points)
{
score += points;
Debug.Log("점수: " + score);
}
}
2. 플레이어 건강 관리
플레이어의 건강 상태를 관리하는 스크립트를 작성할 수 있습니다.
using UnityEngine;
public class PlayerHealth : MonoBehaviour
{
public int health = 100;
void TakeDamage(int damage)
{
health -= damage;
Debug.Log("현재 건강: " + health);
if (health <= 0)
{
Debug.Log("플레이어가 사망했습니다.");
}
}
}
결론
Unity의 스크립팅 API는 게임을 제작하는 데 필수적인 도구입니다. 변수와 인스펙터를 활용하면 게임 오브젝트의 상태를 쉽게 관리할 수 있으며, 이를 통해 더욱 인터랙티브하고 동적인 게임 환경을 조성할 수 있습니다. 여러분의 창의력을 발휘하여 다양한 게임 로직을 구현해 보세요!