Menu
CoddyTech

Mục tiêu di động

Thuộc phần Vật lý và lối chơi trong hành trình Unity của Coddy. Bài học 67 trên 71.

challenge icon

Thử thách

Khó

Viết script cho mục tiêu: chúng trượt qua lại trong phạm vi, và một quả bóng sẽ đánh trúng chúng.

  1. Trong Start(), giữ nguyên startX = rb.position.x. Trong FixedUpdate(), di chuyển theo trục x bằng rb.MovePosition với speed, đổi chiều direction từ 1 sang -1 hoặc ngược lại khi cách startX một khoảng bằng range.
  2. Trong OnCollisionEnter, khi collision.gameObject.CompareTag("Ball"), ghi nhật ký name + " hit!" rồi hủy quả bóng và mục tiêu.

Nhấn Chơi và đánh trúng cả ba mục tiêu. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Target : MonoBehaviour
{
    [SerializeField] private float speed = 2f;
    [SerializeField] private float range = 3f;
    private Rigidbody rb;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
    }

    // Trượt qua lại giữa hai bên; quả bóng va vào mục tiêu sẽ hất nó ra ngoài
}

Tất cả bài học trong Vật lý và lối chơi

Tự luyện tập: Playground Unity