สร้างเกม - หลากหลายวิธีการ กำหนดค่าให้อีก gameObject (โอ้ยอย่างงนะ !)

วิธีแรก มาดูกับครับว่าถ้าเราอยากจะมี สคลิปเพียงอันเดียว ที่ยัดไว้ที่ Object อันไหนสักอัน แล้วเราก็สามารถ ใช้คำสั่งที่สคลิปอันนี้อันเดียว ให้ Object อื่นๆทำนู้นนี่นั้นตามที่เราสั่ง โดยที่ไม่ต้องไปยัดไว้ที่ Object อื่นๆทุกๆอันเลย เราจะทำยังไง (อย่างงกันนะครับ)

สมมติว่าเรามี 2 Object แล้วกันนะครับ คือเอาไว้ยัดสคลิปโดยเฉพาะอันนึง และอีก Object ก็เอาไว้สั่งโดยที่ไม่ต้องยัดสคลิปใดๆไว้ ตามนั้น ไปที่สคลิปดีกว่า

public class Enemy : MonoBehaviour { public GameObject player; // เอาสิครับ คุ้นไหม void Start() { // ทีนี้เราจะทำไรกะมันก็จัดมันเลยครับ แต่ผมจะสั่งให้มันหายไป 555
Destroy(player); } }

อ๋อกันแล้วใช่ป่าวครับ ก็คือแค่ประกาศตัวแปรเป็น public ครับ แล้วที่ Inspector เราก็ลาก 
gameObject ไปใส่ที่นั่นได้เลย ในตัวแปลนะครับ


--------------------------------------------------

วิธีที่ 2 ใช้ฟังชั่นนี้เลยครับ Find()

GameObject player; void Start() { player = GameObject.Find("MainHeroCharacter"); }

ตามนั้นครับ ค่าที่ส่งไปในวงเล็บ ก็คือ ชื่อของ Object ครับ หรือ Object name นั่นเอง


--------------------------------------------------

วิธีสุดท้าย คือ Find เหมือนกันครับ แต่เป็นหาด้วยแท็ก

GameObject player; GameObject[] enemies; void Start() { player = GameObject.FindWithTag("Player"); enemies = GameObject.FindGameObjectsWithTag("Enemy"); }

ในกรณีที่ใช้แท็กเหมือนกันหลายๆ Object เราก็อย่าลืมที่จะประกาศเป็น Array ด้วยนะครับ









สามารถอ่านบทความที่เกี่ยวข้องของเราที่นี่  >> รวมลิ้งค์บทความ สร้างเกมด้วย Unity

ไม่มีความคิดเห็น

ขับเคลื่อนโดย Blogger.