Menu
CoddyTech

값을 기억하는 변수

Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 85개 중 5번째.

Unity는 매 프레임마다 Update()를 호출하며, 호출할 때마다 새로 시작합니다. 메서드 안에서 만든 변수는 메서드가 끝나면 버려집니다. 따라서 이 카운터는 1을 넘지 못합니다.

void Update()
{
    int frames = 0;
    frames++;
}

frames++는 1을 더하는 것으로, frames += 1을 짧게 쓴 것입니다. 하지만 다음 프레임에서는 int frames = 0;이 다시 실행되어 처음부터 다시 시작합니다.

한 프레임에서 다음 프레임까지 값을 기억하려면 클래스 안에, 모든 메서드 바깥에 변수를 만드세요. 이렇게 선언한 변수는 필드입니다. 객체가 존재하는 동안 유지되며, 클래스의 모든 메서드에서 사용할 수 있습니다.

int frames = 0;

void Update()
{
    frames++;
}

이제 frames는 매 프레임마다 1씩 더해져 1, 2, 3으로 계속 증가합니다.

challenge icon

챌린지

쉬움

식물이 계속 자라게 하세요.

  1. Update() 안에 있는 int frames = 0; 줄을 잘라 내세요.
  2. 클래스 안에서 void Update() 위에 붙여 넣어 frames가 그 값을 기억하는 필드가 되도록 하세요.

‘플레이’를 누르면 식물이 매 프레임 조금씩 더 자랍니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class Grower : MonoBehaviour
{
    void Update()
    {
        int frames = 0;
        frames++;
        transform.localScale = new Vector3(1, 1 + frames * 0.01f, 1);
    }
}

Unity 스크립팅 기초의 모든 레슨

직접 연습해 보세요: Unity 플레이그라운드