Menu
CoddyTech

Di chuyển theo từng khung hình

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 10 trên 85.

Unity gọi Update() một lần trong mỗi khung hình mà nó vẽ. Thay đổi vị trí một chút trong hàm này, đối tượng sẽ di chuyển một chút theo từng khung hình, tạo cảm giác chuyển động mượt mà trên màn hình.

Toán tử += trên vị trí sẽ cộng một Vector3 vào vị trí đó: từng thành phần x, y và z tăng theo con số tương ứng. Quả bóng bay này tăng độ cao 0.02 đơn vị trong mỗi khung hình và giữ nguyên vị trí theo x và z:

void Update()
{
    transform.position += new Vector3(0, 0.02f, 0);
}

f là hậu tố số thực của C# mà bạn đã biết: Unity dùng float, còn riêng 0.02 sẽ là một double. Với 60 khung hình mỗi giây, quả bóng bay tăng độ cao 0.02 x 60 = 1.2 đơn vị mỗi giây.

challenge icon

Thử thách

Dễ

Cho chiếc xe màu đỏ chạy về phía trước.

  1. Trong Update(), dùng += để cộng new Vector3(0, 0, 0.05f) vào transform.position.
  2. Giữ x và y ở 0: chiếc xe chỉ di chuyển dọc theo z.

Nhấn Chơi: chiếc xe chạy ra xa máy quay. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class CarMover : MonoBehaviour
{
    void Update()
    {
        // Di chuyển xe về phía trước dọc theo trục z tại đây
    }
}

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