Translate/Unity

[Unity/유니티] 변수와 인스펙터(Inspector)

ChoiSenn 2022. 2. 19. 19:12

 

 

 

 

변수와 인스펙터

 

 스크립트를 작성하여, 다른 컴포넌트들과 마찬가지로 게임 오브젝트에 연결 가능한 자신만의 새로운 컴포넌트를 생성할 수 있다.

 인스펙터에서 편집 가능한 프로퍼티를 가진 다른 컴포넌트들과 마찬가지로, 스크립트도 인스펙터를 편집하여 스크립트의 값을 변경할 수 있다.

 

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);
    }
    
    // Update is called once per frame
    void Update () {
    
    }
}

 위의 코드는 인스펙터 뷰에서는 "My Name"으로 표시되며, 텍스트 필드를 편집 가능하다.

 Unity에서는 인스펙터 뷰에 표시 될 때, 대문자가 있는 곳은 자동으로 공백을 더해서 표시된다. 이것은 표시 목적일 뿐이므로(읽기 편하기 위해), 코드 작성 중에는 반드시 설정한대로의 변수 이름을 사용해야 한다. 명칭을 변경하고 Play 버튼을 누르면 스크립트에 입력한대로 텍스트가 포함된 메시지가 Console 창에 표시된다.

 

 C# 스크립트에서는, 인스펙터 뷰에 변수를 표시하기 위해 public으로 지정해주어야 한다. UnityScript는 기본적으로 public으로 취급되기 때문에 따로 private으로 지정하지 않는 이상 인스펙터 뷰에 표시된다.

 

#pragma strict

private var invisibleVar: int;

function Start () {

}

 Unity에서는 게임을 실행하는 동안 스크립트 변수의 값을 변경할 수 있다. 이는 정지, 재시작하지 않고 효과를 바로 확인할 수 있다는 점에서 유용하다.

 게임이 끝날 때, 변수의 값은 Play를 누르기 전의 값으로 재설정된다. 이에 따라 후에 영향을 남기지 않고 마음대로 오브젝트 설정을 조정해볼 수 있다.