Menu
CoddyTech

Bắt lấy 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 52 trên 85.

challenge icon

Thử thách

Trung bình

Bắt ngôi sao và đếm số lần bắt được.

  1. Thêm một trường private int score;.
  2. Sau khi ngôi sao di chuyển, khi Vector3.Distance(transform.position, star.position) < 1f, tăng score thêm 1 và ghi nhật ký "Caught! Score: " + score.
  3. Trong câu lệnh if đó, đưa ngôi sao về y = 6f, giữ nguyên x và z.

Nhấn Chơi và trượt xuống bên dưới ngôi sao: Console hiển thị Caught! Score: 1. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Catcher : MonoBehaviour
{
    [SerializeField] private float speed = 6f;
    [SerializeField] private Transform star;
    [SerializeField] private float fallSpeed = 3f;

    void Update()
    {
        float x = transform.position.x;
        if (Input.GetKey(KeyCode.RightArrow))
        {
            x += speed * Time.deltaTime;
        }
        if (Input.GetKey(KeyCode.LeftArrow))
        {
            x -= speed * Time.deltaTime;
        }
        x = Mathf.Clamp(x, -4f, 4f);
        transform.position = new Vector3(x, transform.position.y, transform.position.z);

        star.position += Vector3.down * fallSpeed * Time.deltaTime;
    }
}

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