메서드 작성하기
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).
챌린지
중급각 램프가 각자의 위치에 서도록 PlaceLamp에 매개변수를 추가하세요.
- 메서드의 첫 줄을
void PlaceLamp(float x)로 바꾸고, 위치를new Vector3(x, 1, 0)로 바꾸세요. 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 플레이그라운드