Menu
CoddyTech

Chạm đất hay hụt

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

Thử thách này hoàn thiện trò chơi xây tháp và phần đầu tiên của khóa học: cần cẩu, khối rơi và bài kiểm tra tiếp đất với Mathf.Abs.

challenge icon

Thử thách

Khó

Đưa mỗi khối đáp xuống chồng khối hoặc rơi khỏi đó.

  1. Khi khối đang rơi xuống đến y + 1 của top và cách x của top dưới 1 đơn vị, đặt y của khối đúng bằng giá trị đó, gán khối đó cho top, đặt falling thành rỗng và ghi nhật ký "Stack: " + count.
  2. Nếu khối ở dưới y = -3, hãy hủy khối đó, đặt falling thành rỗng và ghi nhật ký Missed!.

Nhấn Chơi và xếp chồng các khối: mỗi lần khối đáp xuống sẽ ghi nhật ký độ cao. Sau đó nhấn Kiểm tra.

Tự làm thử

using UnityEngine;

public class Crane : MonoBehaviour
{
    [SerializeField] private GameObject blockPrefab;
    [SerializeField] private Transform top;
    [SerializeField] private float craneSpeed = 3f;
    [SerializeField] private float craneEdge = 4f;
    [SerializeField] private float fallSpeed = 7f;

    private float direction = 1f;
    private Transform falling;
    private int stack;

    void Update()
    {
        transform.position += new Vector3(direction * craneSpeed * Time.deltaTime, 0f, 0f);
        if (transform.position.x > craneEdge) direction = -1f;
        if (transform.position.x < -craneEdge) direction = 1f;

        bool drop = Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0);
        if (drop && falling == null)
        {
            Vector3 spot = new Vector3(transform.position.x, transform.position.y - 1f, 0f);
            falling = Instantiate(blockPrefab, spot, Quaternion.identity).transform;
        }

        if (falling != null)
        {
            falling.position += Vector3.down * fallSpeed * Time.deltaTime;
            // Đáp xuống chồng khối: nội dung của bài học tiếp theo.
        }
    }
}
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

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