ซ่อนและยกเลิกการซ่อน Gameobjects มากมายเมื่อคลิกปุ่ม

ฉันกำลังพยายามพัฒนาแอปพลิเคชันเติมความเป็นจริงโดยใช้ Vuforia ฉันต้องแสดงเฉพาะ Gameobject สำหรับ Image Target เช่น cube สำหรับ Image Target 1 และสี่เหลี่ยมผืนผ้าสำหรับ Image target 2 สามเหลี่ยมสำหรับ target 3 และอื่น ๆ สำหรับ 10 เป้าหมาย เป้าหมายทั้งสองจะถูกติดตามพร้อมกัน ทั้งหมดที่ฉันต้องการทำคือแสดงคิวบ์ก่อน และเมื่อมีการคลิกปุ่ม ควรซ่อนสี่เหลี่ยมไว้ และอีกครั้งเมื่อคลิกปุ่ม มันควรจะแสดงรูปสามเหลี่ยมที่ซ่อนทั้งลูกบาศก์และสี่เหลี่ยม ทั้งหมดนี้ด้วยปุ่มเดียวและการคลิกหลายครั้ง สิ่งที่ฉันรู้คือสิ่งต่าง ๆ จะต้องเปลี่ยนแปลงที่ Defaukttrackableeventhandler.cs script

สิ่งที่ฉันกำลังทำตอนนี้คือแต่ละฉากมีเป้าหมายรูปภาพและปุ่มสำหรับแต่ละฉาก scene ดังนั้นเมื่อคลิกปุ่ม ให้โหลด next scene ฉันรู้ว่านี่ไม่ใช่วิธีที่ถูกต้อง ฉันใหม่และฉันกำลังเรียนรู้


person Sam Sundar    schedule 17.09.2018    source แหล่งที่มา


คำตอบ (1)


สร้างสคริปต์ที่มีคุณสมบัติรายการของวัตถุเกมและวัตถุที่ใช้งานอยู่:

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

กำหนดและสร้างฟังก์ชันที่จัดการการคลิก:

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

เพิ่มสคริปต์ให้กับ gameobject เช่น "GameManager" ผูกเหตุการณ์การคลิกเข้ากับฟังก์ชัน object เพิ่มวัตถุของคุณไปยังคุณสมบัติรายการในตัวตรวจสอบ ปิดการใช้งานวัตถุเกมทั้งหมดที่มีรูปร่าง...

นี่เป็นโค้ดที่ยังไม่ทดลอง แต่ควรช่วยให้คุณเข้าใกล้ได้ สิ่งนี้จะเคลื่อนที่ผ่านอาร์เรย์ของวัตถุและปิดใช้งานกระแสและเปิดใช้งานถัดไป

person Eddy Howard    schedule 17.09.2018
comment
ฉันได้รับข้อผิดพลาดมากมายในขณะทำเช่นนั้น นี่คือคือภาพหน้าจอ - person Sam Sundar; 18.09.2018
comment
Sam Sundar คุณได้รับข้อผิดพลาดมากมายเนื่องจากคุณใส่เมธอด ButtonClickEvent() ไว้นอกเนื้อหาของคลาส - person Andrew Snejovski; 18.09.2018
comment
ฉันใหม่มากกับการเขียนโปรแกรม ฉันไม่รู้วิธีการเปลี่ยนแปลงอย่างถูกต้อง :( - person Sam Sundar; 19.09.2018
comment
ขั้นตอนแรกคือการเรียนรู้พื้นฐาน ไปหยิบบทช่วยสอน Unity3D / C# จากเน็ตแล้วปฏิบัติตาม มีวิดีโอ YouTube หลายร้อยรายการที่จะสอนคุณ นั่นคือสิ่งที่ดีที่สุดที่คุณสามารถทำได้ในขณะนี้ หลังจากที่คุณทำเช่นนั้น ให้ไปที่ช่องแชท Unity3D IRC แล้วคุณจะได้รับข้อมูลและความช่วยเหลืออย่างต่อเนื่องเพียงปลายนิ้วสัมผัส ขอให้โชคดี! - person Eddy Howard; 20.09.2018