Pengumpulan Koin 2D dalam Persatuan

Pengambilan dan pengumpulan koin telah menjadi hal pokok dalam game 2D, terutama di Platformer 2D.

Untuk mengambil koin di Unity kita perlu membuat skrip yang akan dilampirkan ke objek coin dan akan hancur setelah pemain bersentuhan dengannya, memperbarui nilai penghitung.

Sharp Coder Pemutar video

Saya akan menggunakan Pengontrol Karakter 2D, tetapi Anda dapat melewati bagian ini jika Anda sudah memiliki pengontrol 2D.

Langkah

Untuk membuat koin 2D yang bisa diambil dan dikumpulkan, ikuti langkah-langkah di bawah ini:

  • Buat GameObject baru (GameObject -> Buat Kosong) dan beri nama "Coin"
  • Lampirkan komponen SpriteRenderer ke objek "Coin"
  • Tetapkan sprite koin Anda ke SpriteRenderer (Anda dapat menggunakan gambar di bawah, pastikan Jenis Tekstur di Pengaturan Impor diatur ke 'Sprite (2D and UI)')

Gambar Transparan Koin Emas

  • Skalakan objek Koin hingga ukuran yang diinginkan
  • Ubah posisi sumbu Koin 'Z' agar sesuai dengan posisi pemain
  • Lampirkan komponen BoxCollider2D ke objek "Coin"
  • Buat skrip baru, beri nama "SC_2DCoin", hapus semuanya lalu tempelkan kode di bawah ini ke dalamnya:

SC_2DCoin.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SC_2DCoin : MonoBehaviour
{
    //Keep track of total picked coins (Since the value is static, it can be accessed at "SC_2DCoin.totalCoins" from any script)
    public static int totalCoins = 0; 

    void Awake()
    {
        //Make Collider2D as trigger 
        GetComponent<Collider2D>().isTrigger = true;
    }

    void OnTriggerEnter2D(Collider2D c2d)
    {
        //Destroy the coin if Object tagged Player comes in contact with it
        if (c2d.CompareTag("Player"))
        {
            //Add coin to counter
            totalCoins++;
            //Test: Print total number of coins
            Debug.Log("You currently have " + SC_2DCoin.totalCoins + " Coins.");
            //Destroy coin
            Destroy(gameObject);
        }
    }
}
  • Lampirkan skrip SC_2DCoin ke objek "Coin"
  • Pilih objek pemain Anda dan pastikan tagnya disetel ke "Player" (ini diperlukan agar dapat mengambil koin)

Koin sekarang sudah siap, Anda dapat menyimpannya ke Prefab dan menduplikasinya di sekitar level.

Untuk membuat penghitung koin, ikuti langkah-langkah di bawah ini:

  • Buat Gambar UI baru dengan mengklik kanan pada tampilan Hierarki -> UI -> Gambar dan beri nama "CoinIcon"
  • Tetapkan sprite koin ke komponen Gambar
  • Ubah RectTransform Alignment menjadi 'top left', Pivot menjadi (0, 1), Posting X menjadi '5', Pos Y menjadi '-5', Lebar dan Tinggi menjadi '25'

  • Buat Teks baru dengan mengklik kanan pada tampilan Hierarki -> UI -> Teks dan beri nama "CoinCounter"
  • Atur "CoinCounter" RectTransform sama dengan "CoinIcon", hanya saja atur Pos X menjadi '35' dan Lebar menjadi '160'
  • Atur Gaya Font Teks ke 'Bold', Ukuran Font ke 22, Perataan ke 'left center' dan Warna ke 'white'

  • Buat skrip baru, beri nama "SC_CoinCounter", hapus semuanya lalu tempelkan kode di bawah ini ke dalamnya:

Skrip penghitung koin akan menerapkan jumlah koin ke elemen Teks.

SC_CoinCounter.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class SC_CoinCounter : MonoBehaviour
{
    Text counterText;

    // Start is called before the first frame update
    void Start()
    {
        counterText = GetComponent<Text>();
    }

    // Update is called once per frame
    void Update()
    {
        //Set the current number of coins to display
        if(counterText.text != SC_2DCoin.totalCoins.ToString())
        {
            counterText.text = SC_2DCoin.totalCoins.ToString();
        }
    }
}
  • Lampirkan skrip SC_CoinCounter ke objek Teks "CoinCounter"

Tekan Mainkan dan lihat koin menghilang pada kontak pemain dan ditambahkan ke penghitung.

Artikel yang Disarankan
Indikator Sasaran dalam Persatuan
Efek Gerak Lambat dalam Persatuan
FPC Swimmer - Aset Persatuan Komprehensif untuk Lingkungan Perairan yang Mendalam
Ultimate Spawner 2.0 - Aset yang Mengubah Permainan
Skrip Tampilan Mouse untuk Persatuan
Pembuat Cuaca - Meningkatkan Lingkungan Persatuan ke Tingkat Baru
Penghitung FPS Persatuan