สร้างโลกของคุณเอง
การเขียนสคริปต์
ฟังก์ชันของเหตุการณ์
8นาที
ฟังก์ชันเหตุการณ์เป็นฟังก์ชันพิเศษที่ถูกเรียกโดยอัตโนมัติในระหว่างวงจรชีวิตของ gameobject หรือส่วนประกอบในเอนจิน unity ดังนั้นจึงเรียกว่าฟังก์ชันเหตุการณ์วงจรชีวิตด้วย ฟังก์ชันเหตุการณ์จะถูกเรียกโดยอัตโนมัติโดยเอนจิน unity ในช่วงเวลาที่กำหนด ฟังก์ชันเหตุการณ์เป็นฟังก์ชันพิเศษที่ถูกเรียกโดยอัตโนมัติในระหว่างวงจรชีวิตของ gameobject หรือส่วนประกอบในเอนจิน unity ดังนั้นจึงเรียกว่าฟังก์ชันเหตุการณ์วงจรชีวิตด้วย แผนภาพการไหลของวงจรชีวิตสคริปต์ zepeto เหตุการณ์การเริ่มต้น คุณสามารถใช้เหตุการณ์การเริ่มต้นเพื่อเรียกใช้โค้ดการเริ่มต้นก่อนการอัปเดต ฟังก์ชัน start จะถูกเรียกก่อนการอัปเดตฟิสิกส์ใด ๆ และก่อนเฟรมแรก ในขณะที่ฟังก์ชัน awake จะถูกเรียกสำหรับแต่ละวัตถุในฉากเมื่อเรียกฉากขึ้น ฟังก์ชัน start และ awake สำหรับวัตถุต่าง ๆ จะถูกเรียกในลำดับแบบสุ่ม แต่การเรียกทั้งหมดของ awake จะเสร็จก่อนที่ start จะถูกเรียก นี่หมายความว่าฟังก์ชัน start สามารถใช้การเริ่มต้นอื่น ๆ ที่ดำเนินการก่อนหน้านี้ในฟังก์ชัน awake เหตุการณ์อัปเดตปกติ การอัปเดตปกติหมายถึงการอัปเดตทั้งหมดที่เรียกทุกเฟรม。 พวกเขาเปลี่ยนตำแหน่ง สถานะ และพฤติกรรมของวัตถุก่อนที่แต่ละเฟรมจะถูกเรนเดอร์ zepetoscript ให้แนวทางในการประมวลผลการคำนวณในฟังก์ชัน update เหตุการณ์ฟิสิกส์ เหตุการณ์ฟิสิกส์เรียกฟังก์ชันเหตุการณ์ผ่านสคริปต์ที่เพิ่มใน gameobject ฟังก์ชัน oncollisionenter, oncollisionstay และ oncollisionexit จะถูกเรียกเมื่อมีการสัมผัส เก็บ และทำลาย ฟังก์ชัน ontriggerenter, ontriggerstay และ ontriggerexit จะถูกเรียกเมื่อคอลลิเดอร์ของวัตถุถูกกำหนดเป็นทริกเกอร์ (เช่น คอลลิเดอร์ที่ไม่ตอบสนองทางกายภาพต่อการชน แต่เพียงแค่ตรวจจับเท่านั้น) ฟังก์ชันดังกล่าวอาจถูกเรียกหลายครั้งติดต่อกันหากมีการตรวจจับการสัมผัสหลายครั้งในระหว่างการอัปเดตฟิสิกส์ และดังนั้นพารามิเตอร์จะถูกส่งไปยังฟังก์ชันที่ให้รายละเอียดเกี่ยวกับการชน (ตำแหน่ง ตัวตนของวัตถุ) เหตุการณ์ gui zepetoscript รองรับเหตุการณ์ที่เรนเดอร์การควบคุม gui และตอบสนองต่อการคลิกจากองค์ประกอบต่างๆ พวกเขาทำงานแตกต่างจากการอัปเดตเฟรมปกติ ดังนั้นตรรกะที่เกี่ยวข้องกับ ui ควรอยู่ในฟังก์ชัน ongui เหตุการณ์เมาส์ ใน zepetoscript รองรับเหตุการณ์ที่ตอบสนองต่อการโต้ตอบด้วยเมาส์ อย่างไรก็ตาม เหตุการณ์เมาส์ต้องการ collider หรือ collider2d ที่มีอยู่ใน gameobject ที่เกี่ยวข้อง และจะถูกเรียกใช้เมื่อ collider นั้นถูกคลิกด้วยเมาส์ onmousedown() จะถูกเรียกเมื่อผู้ใช้คลิกปุ่มเมาส์ onmouseup() จะถูกเรียกเมื่อผู้ใช้ปล่อยปุ่มเมาส์ onmouseover() จะถูกเรียกทุกเฟรมในขณะที่เคอร์เซอร์เมาส์อยู่เหนือ collider หรือ collider2d ของ gameobject เหตุการณ์การสิ้นสุด เหตุการณ์การสิ้นสุดจะถูกเรียกในวัตถุที่เปิดใช้งานทั้งหมดในฉาก ฟังก์ชัน ondisable จะถูกเรียกเมื่อวัตถุที่กำหนดถูกปิดใช้งานหรือไม่ทำงาน และ onapplicationquit จะถูกเรียกใน gameobjects ทั้งหมดก่อนที่แอปพลิเคชันจะปิด 📘 ฟังก์ชันเหตุการณ์ของ unity https //docs unity3d com/kr/current/manual/eventfunctions html https //docs unity3d com/kr/current/manual/eventfunctions html ฟังก์ชันเหตุการณ์ทั้งหมดที่รองรับโดย zepetoscript จะถูกระบุไว้ในตัวอย่างโค้ดด้านล่าง sample monobehaviourlifecycle import { zepetoscriptbehaviour } from 'zepeto script'; import { collider, collider2d, collision, collision2d } from 'unityengine'; export default class samplemonobehaviourlifecycle extends zepetoscriptbehaviour { awake() { console log('ตื่นขึ้นมา '); } onenable() { console log('เปิดใช้งาน '); } start() { console log('เริ่มต้น '); } update() { console log('อัปเดต '); } fixedupdate() { console log('อัปเดตคงที่ '); } lateupdate() { console log('อัปเดตช้า '); } ondisable() { console log('ปิดการใช้งาน '); } ondestroy() { console log('ทำลาย '); } ontriggerenter(coll collider) { console log(`เข้าชน ${coll gameobject name} `); } ontriggerexit(coll collider) { console log(`ออกจากการชน ${coll gameobject name} `); } ontriggerstay(coll collider) { console log(`อยู่ในชน ${coll gameobject name} `); } ontriggerenter2d(coll collider2d) { console log(`เข้าชน2d ${coll gameobject name} `); } ontriggerexit2d(coll collider2d) { console log(`ออกจากการชน2d ${coll gameobject name} `); } ontriggerstay2d(coll collider2d) { console log(`อยู่ในชน2d ${coll gameobject name} `); } oncollisionenter(coll collision) { console log(`ชน ${coll gameobject name} `); } oncollisionexit(coll collision) { console log(`ออกจากการชน ${coll gameobject name} `); } oncollisionstay(coll collision) { console log(`อยู่ในชน ${coll gameobject name} `); } oncollisionenter2d(coll collision2d) { console log(`ชน2d ${coll gameobject name} `); } oncollisionexit2d(coll collision2d) { console log(`ออกจากการชน2d ${coll gameobject name} `); } oncollisionstay2d(coll collision2d) { console log(`อยู่ในชน2d ${coll gameobject name} `); } ongui() { console log('แสดง gui '); } onmousedown() { console log('คลิกเมาส์ลง '); } onmousedrag() { console log('ลากเมาส์ '); } onmouseup() { console log('ปล่อยเมาส์ '); } onmouseenter() { console log('เมาส์เข้ามา '); } onmouseexit() { console log('เมาส์ออกไป '); } onmouseover() { console log('เมาส์อยู่เหนือ '); } onmouseupasbutton() { console log('ปล่อยเมาส์เป็นปุ่ม '); } onanimatorik(layerindex number) { console log(`onanimatorik ${layerindex} `); } onapplicationfocus() { console log('โฟกัสแอปพลิเคชัน '); } onapplicationpause() { console log('หยุดชั่วคราวแอปพลิเคชัน '); } onapplicationquit() { console log('ออกจากแอปพลิเคชัน '); } } ตรวจสอบหน้าจอผลลัพธ์ของโค้ดทดสอบด้านล่าง คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับฟังก์ชันเหตุการณ์ของ zepetoscript ได้โดยการคลิกที่ลิงก์ด้านล่างนี้ 📘 ลำดับการดำเนินการสำหรับฟังก์ชันเหตุการณ์ https //docs unity3d com/kr/current/manual/executionorder html https //docs unity3d com/kr/current/manual/executionorder html