Menu
CoddyTech

메서드 작성하기

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

한동안 메서드를 호출해 왔습니다. Debug.Log, PlaceCrate를 호출했고, Unity는 Start()와 Update()를 호출합니다. 직접 메서드를 작성하는 방법도 같습니다:

void Shout(string word)
{
    Debug.Log(word + "!");
}

void는 메서드가 작업을 수행하고 아무것도 돌려주지 않는다는 뜻입니다. Shout은 메서드의 이름입니다. 괄호 안에는 매개변수가 있습니다. 호출하는 쪽에서 값을 넣어 주는 변수입니다. Shout("Hello");는 word에 "Hello"를 담아 메서드를 실행하고, Shout("Run");은 "Run"을 담아 다시 실행합니다.

매개변수가 없는 메서드에도 빈 괄호가 필요합니다: void Jump(). 호출할 때는 Jump();라고 씁니다. 메서드는 쉼표로 구분해 여러 매개변수를 받을 수도 있습니다: void PlaceTile(int column, int row).

challenge icon

챌린지

중급

각 램프가 각자의 위치에 서도록 PlaceLamp에 매개변수를 추가하세요.

  1. 메서드의 첫 줄을 void PlaceLamp(float x)로 바꾸고, 위치를 new Vector3(x, 1, 0)로 바꾸세요.
  2. Start()에서 호출을 PlaceLamp(-3);, PlaceLamp(0); 및 PlaceLamp(3);로 바꾸세요.

‘플레이’를 누르세요. 램프 세 개가 한 줄로 3만큼 떨어져 섭니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

using UnityEngine;

public class LampRow : MonoBehaviour
{
    void Start()
    {
        PlaceLamp();
        PlaceLamp();
        PlaceLamp();
    }

    void PlaceLamp()
    {
        GameObject lamp = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
        lamp.name = "Lamp";
        lamp.transform.position = new Vector3(0, 1, 0);
        lamp.transform.localScale = new Vector3(0.3f, 1, 0.3f);
        lamp.GetComponent<Renderer>().material.color = new Color(0.3f, 0.3f, 0.35f);
    }
}

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

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