깃발 올리기
Coddy Unity 여정의 Unity 스크립팅 기초 섹션에 포함된 레슨. 85개 중 32번째.
localPosition은 position처럼 매 프레임 읽고 변경할 수 있습니다. 부모 오브젝트를 따라 올라가야 하는 자식 오브젝트, 즉 탑을 올라가는 오두막이나 돛대를 따라 올라가는 깃발은 localPosition을 따라 움직이며 자신의 로컬 높이를 꼭대기와 비교하므로 부모 오브젝트가 어디에 있든 제대로 작동합니다.
if (transform.localPosition.y < 10)
{
transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}대신 position.y와 비교하면 부모 오브젝트가 더 높거나 낮은 곳에 있을 때마다 꼭대기의 위치가 바뀝니다.
챌린지
중급위쪽 화살표 키를 사용해 깃대를 따라 깃발을 올리세요.
Update()에서if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4)를 작성하세요.- 그 안에
new Vector3(0, climb * Time.deltaTime, 0)을transform.localPosition에 더하세요.
‘플레이’를 누르고 위쪽 화살표 키를 길게 누르세요. 깃발이 깃대 꼭대기까지 올라간 다음 멈춥니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
using UnityEngine;
public class Hoist : MonoBehaviour
{
public float climb = 1f;
void Start()
{
transform.localPosition = new Vector3(0.6f, 1, 0);
}
void Update()
{
// 위쪽 화살표 키를 누르고 있는 동안 Ship으로부터의 높이가 4가 될 때까지 올라갑니다
}
}
Unity 스크립팅 기초의 모든 레슨
직접 연습해 보세요: Unity 플레이그라운드