Menu
CoddyTech

Kibarkan Bendera

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

localPosition dapat dibaca dan diubah pada setiap frame, seperti position. Objek anak yang seharusnya memanjat induknya, seperti kabin yang naik menara atau bendera yang naik tiang, bergerak sepanjang localPosition dan membandingkan ketinggian lokalnya dengan bagian atas, sehingga tetap berfungsi di mana pun induknya berada:

if (transform.localPosition.y < 10)
{
    transform.localPosition += new Vector3(0, 2 * Time.deltaTime, 0);
}

Jika dibandingkan dengan position.y, bagian atas akan berpindah setiap kali induknya berada lebih tinggi atau lebih rendah.

challenge icon

Tantangan

Sedang

Angkat bendera ke atas tiang dengan tombol panah atas.

  1. Di Update(), tulis if (Input.GetKey(KeyCode.UpArrow) && transform.localPosition.y < 4).
  2. Di dalamnya, tambahkan new Vector3(0, climb * Time.deltaTime, 0) ke transform.localPosition.

Tekan tombol “Main” dan tahan tombol panah atas: bendera naik ke puncak tiang lalu berhenti. Kemudian tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Hoist : MonoBehaviour
{
    public float climb = 1f;

    void Start()
    {
        transform.localPosition = new Vector3(0.6f, 1, 0);
    }

    void Update()
    {
        // Selama tombol panah atas ditekan, naiklah hingga ketinggian dari Ship mencapai 4
    }
}

Semua pelajaran di Dasar-Dasar Scripting Unity

Latihan sendiri: Playground Unity