Sembunyikan dan Perlihatkan Banyak Objek Game dengan Klik Tombol

Saya mencoba mengembangkan aplikasi augmented reality menggunakan Vuforia . Saya harus menunjukkan Gameobject spesifik untuk Target Gambar, misalnya kubus untuk Image Target 1 dan Rectangle untuk Image target 2 , segitiga untuk target 3 dan seterusnya untuk 10 target. Kedua target tersebut akan dilacak secara bersamaan. Yang ingin saya lakukan hanyalah menampilkan kubus terlebih dahulu dan ketika tombol diklik, persegi panjang akan disembunyikan. dan Sekali lagi ketika tombol diklik, itu akan menunjukkan segitiga yang menyembunyikan kubus dan persegi panjang. Semua ini dengan satu tombol dan beberapa klik. Yang saya tahu adalah segala sesuatunya harus diubah pada Defaukttrackableeventhandler.cs skrip.

Apa yang saya lakukan sekarang adalah setiap adegan memiliki target gambar dan tombol untuk setiap scene, jadi ketika tombol diklik, muat next scene. Saya tahu ini bukan cara yang tepat untuk dilakukan. Saya baru dan saya sedang belajar.


person Sam Sundar    schedule 17.09.2018    source sumber


Jawaban (1)


Buat skrip yang memiliki properti daftar objek permainan dan objek aktif:

public activeIndex = 0;
public List<GameObject> gos = new List<GameObject>();

Tetapkan dan buat fungsi yang menangani klik:

public void ButtonClickEvent(){
    go[activeIndex].SetActive(false);
    activeIndex ++;
    if(activeIndex >= gos.count){
        activeIndex = 0;
        go[activeIndex].SetActive(true);
    }
}

Tambahkan skrip ke objek game seperti "GameManager", ikat acara klik ke fungsi objek. Tambahkan objek Anda ke properti daftar di inspektur. Nonaktifkan semua objek game yang berbentuk..

Ini adalah kode yang belum teruji, tetapi akan membuat Anda lebih dekat. Ini akan berpindah melalui array objek dan menonaktifkan arus dan mengaktifkan berikutnya.

person Eddy Howard    schedule 17.09.2018
comment
Saya mendapatkan banyak kesalahan saat melakukannya. Berikut tangkapan layarnya. - person Sam Sundar; 18.09.2018
comment
Sam Sundar, Anda mendapatkan banyak kesalahan karena Anda meletakkan metode ButtonClickEvent() di luar badan kelas. - person Andrew Snejovski; 18.09.2018
comment
Saya sangat baru dalam pemrograman. Saya tidak tahu cara mengubahnya dengan benar :( - person Sam Sundar; 19.09.2018
comment
Nah, langkah pertama adalah mempelajari dasar-dasarnya. Ambil tutorial Unity3D / C# dari internet dan ikuti. Ada ratusan video YouTube yang akan mengajari Anda. Itu hal terbaik yang dapat Anda lakukan saat ini, Setelah Anda melakukannya, duduklah di saluran obrolan IRC Unity3D dan Anda akan mendapatkan aliran info dan bantuan yang konstan di ujung jari Anda. Semoga berhasil! - person Eddy Howard; 20.09.2018