Menu
CoddyTech

Kéo cờ lên

Thuộc phần Những kiến thức cơ bản về lập trình trong Unity trong hành trình Unity của Coddy. Bài học 32 trên 85.

localPosition có thể được đọc và thay đổi ở mỗi khung hình, giống như position. Một đối tượng con cần trèo lên đối tượng cha, chẳng hạn như cabin đi lên tháp hoặc lá cờ bay lên cột, sẽ di chuyển dọc theo localPosition và so sánh độ cao cục bộ của nó với đỉnh, nhờ đó hoạt động ở bất cứ vị trí nào của đối tượng cha:

if (transform.localPosition.y < 10)
{
    transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}

Ngược lại, nếu dùng position.y, vị trí đỉnh sẽ thay đổi mỗi khi đối tượng cha đứng cao hơn hoặc thấp hơn.

challenge icon

Thử thách

Trung bình

Kéo lá cờ lên đỉnh cột bằng phím mũi tên lên.

  1. Trong Update(), viết if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4).
  2. Bên trong câu lệnh này, cộng new Vector3(0, climb * Time.deltaTime, 0) vào transform.localPosition.

Nhấn Chơi và giữ phím mũi tên lên: lá cờ sẽ leo lên đỉnh cột rồi dừng lại. Sau đó, nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        transform.localPosition = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // Khi giữ phím mũi tên lên, leo cho đến khi độ cao so với Ship là 4
    }
}

Tất cả bài học trong Những kiến thức cơ bản về lập trình trong Unity

Tự luyện tập: Playground Unity