Menu
CoddyTech

Mendarat atau Meleset

Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 85 dari 85.

Tantangan ini menyelesaikan permainan menara dan bagian pertama kursus: sebuah derek, balok yang jatuh, dan pengujian pendaratan dengan Mathf.Abs.

challenge icon

Tantangan

Sulit

Buat setiap balok mendarat di tumpukan atau jatuh menjauh.

  1. Saat balok yang jatuh mencapai top's y + 1 dan berada dalam jarak 1 dari x top, tetapkan y-nya tepat ke nilai itu, jadikan balok itu top, kosongkan falling, lalu catat "Stack: " + count.
  2. Jika tidak, saat balok berada di bawah y = -3, hancurkan balok itu, kosongkan falling, lalu catat Missed!.

Tekan tombol “Main” dan susun balok: setiap kali balok mendarat, ketinggiannya akan dicatat. Lalu tekan tombol “Periksa”.

Coba sendiri

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;
            // Mendarat di tumpukan: pelajaran berikutnya.
        }
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity