บทความนี้จะแนะนำวิธีการแก้ไขเมตาสคริปต์
คำอธิบายอินเทอร์เฟซ
- Canvas พื้นที่แก้ไขหลัก
2.ไฟล์ที่กำลังแก้ไขอยู่ - การจำแนกองค์ประกอบ คลิกองค์ประกอบใด ๆ เพื่อขยายอินเทอร์เฟซการเลือกองค์ประกอบ
- แผงคุณสมบัติ
คำอธิบายการจำแนกธาตุ
-
หมวดหมู่องค์ประกอบกราฟิกที่สอดคล้องกับภูมิภาค ได้แก่:
-
ค้นหา: ป้อนคำสำคัญเพื่อค้นหาภาพกราฟิก
-
ที่ใช้กันทั่วไป: ชุดกราฟิกที่ใช้กันทั่วไปจะอยู่ที่นี่
-
เหตุการณ์: จะเกิดขึ้นเมื่อตรงตามเงื่อนไขซึ่งถือเป็นจุดเริ่มต้นของตรรกะ
-
เงื่อนไข : ใช้สำหรับควบคุมการไหลของสคริปต์
-
พฤติกรรม: การดำเนินการจริงกับข้อมูล/เอนทิตี้
-
โมดูล: พฤติกรรมเฉพาะโมดูลบางประการ
-
ข้อมูล: การประมวลผลข้อมูล
-
ตัวแปร: ใช้ตัวแปรที่มีอยู่หรือเพิ่มตัวแปร
-
ฟังก์ชัน: ใช้หรือสร้างฟังก์ชันที่กำหนดเอง
-
การเรียกภายนอก: เรียกใช้ฟังก์ชันที่กำหนดเองของสคริปต์อื่น
การใช้กราฟิก
คำอธิบายเมตา
ส่วนนูนใต้ส่วนดั้งเดิมบ่งบอกว่าส่วนดั้งเดิมอื่น ๆ สามารถเชื่อมโยงกับส่วนนั้นได้
รอยบุ๋มเหนือส่วนดั้งเดิมหมายถึงส่วนดั้งเดิมอื่น ๆ สามารถเชื่อมโยงกันก่อนส่วนดั้งเดิมนี้ และจะทำงานหลังจากส่วนดั้งเดิมก่อนหน้าทำงานเท่านั้น
หากไม่มีรอยบุ๋มที่ด้านบนแต่มีส่วนโป่งที่ด้านล่าง แสดงว่าส่วนดั้งเดิมนั้นเป็นจุดเริ่มต้นของส่วนตรรกะ ซึ่งโดยทั่วไปคือส่วนดั้งเดิมของเหตุการณ์
ถ้าไม่มีความนูนหรือเว้าอยู่ด้านบนหรือด้านล่าง แสดงว่าข้อมูลดั้งเดิมนั้นเป็นชิ้นข้อมูลหนึ่ง และสามารถนำไปยังข้อมูลดั้งเดิมอื่นได้
ไพรมิทีฟจะมีพารามิเตอร์อินพุตและเอาต์พุต:
พารามิเตอร์อินพุต:
พารามิเตอร์อินพุตจะว่างเปล่าตามค่าเริ่มต้น และประเภทที่ทำเครื่องหมายไว้ข้างในจะเป็นประเภทของพารามิเตอร์ที่ต้องการ
ชื่อสคริปต์ในองค์ประกอบนี้ถือเป็นพารามิเตอร์ที่จำเป็น แต่หากใช้ตัวเลือกทรัพยากร คุณสามารถเลือกทรัพยากรที่สอดคล้องกันในโครงการได้โดยตรง โดยไม่ต้องพิจารณาการจับคู่ประเภท
พารามิเตอร์เอาท์พุต:
พารามิเตอร์เอาต์พุตเป็นสี่เหลี่ยมสีตามค่าเริ่มต้น ซึ่งสามารถลากเพื่อกรอกช่องพารามิเตอร์อินพุตที่ต้องการได้:
การใช้คำดั้งเดิม
หลังจากเลือกองค์ประกอบที่คุณต้องการใช้ในหมวดหมู่แล้ว ให้คลิกหรือลากไปยังผืนผ้าใบเพื่อใช้องค์ประกอบที่สอดคล้อง
การใช้แบบดั้งเดิมที่มีร่องอยู่ด้านบน คุณสามารถเชื่อมแบบดั้งเดิมทั้งสองเข้าด้วยกันได้:
ตรรกะของกลุ่มของสิ่งดั้งเดิมจะมาจากบนลงล่างเสมอ:
สำหรับกลุ่มขององค์ประกอบกราฟิกที่เชื่อมต่อกันเป็นชุด จำเป็นต้องกรอกพารามิเตอร์อินพุตที่จำเป็นด้วยข้อมูลที่เหมาะสมเพื่อให้แน่ใจว่าสคริปต์ทำงานได้ตามปกติ ตัวแปรที่ไม่เหมาะสมจะส่งผลให้เกิดข้อผิดพลาด คลิกที่ข้อผิดพลาดเพื่อดูข้อความแสดงข้อผิดพลาด:
เมื่อคุณลากองค์ประกอบ องค์ประกอบด้านล่างก็จะถูกลากออกไปด้วยเช่นกัน:
กดปุ่ม Ctrl ค้างไว้แล้วลากเพื่อลากเฉพาะองค์ประกอบปัจจุบัน และองค์ประกอบด้านล่างจะเชื่อมต่อกับองค์ประกอบด้านบนโดยอัตโนมัติ:
แผงคุณสมบัติองค์ประกอบ
คลิกที่องค์ประกอบแล้วมันจะถูกเลือก
ในแผงตรวจสอบทางด้านขวา คุณสามารถดูข้อมูลโดยละเอียดขององค์ประกอบที่เลือก รวมถึงชื่อ คำอธิบาย ชื่อพารามิเตอร์ ประเภทพารามิเตอร์ ประเภทค่าส่งคืน คำอธิบายค่าส่งคืน ฯลฯ
การควบคุมการไหล
ลำดับการดำเนินการเริ่มต้นของเมตาสคริปต์คือจากบนลงล่าง คุณอาจจำเป็นต้องมีการควบคุมการไหลของโค้ดเพื่อนำตรรกะที่ซับซ้อนไปใช้
กรุณาดูคำแนะนำโดยละเอียดได้จากลิงค์ต่อไปนี้:
หมายเหตุเพิ่มเติมเกี่ยวกับสคริปต์
ตัวแปร
สามารถกำหนดหรือแก้ไขตัวแปรได้สามประเภทที่ตำแหน่งตัวแปร:
- แอตทริบิวต์เอนทิตีทั่วโลก: แอตทริบิวต์ส่วนประกอบทั่วโลก รองรับการปรับแต่ง คุณสามารถรับหรือแก้ไขแอตทริบิวต์เอนทิตีทั่วโลกที่กำหนดเองได้ในสคริปต์ใดๆ
- ตัวแปรสคริปต์: ตัวแปรที่ใช้เฉพาะในสคริปต์ปัจจุบันเท่านั้น ส่วนสคริปต์อื่นสามารถรับและแก้ไขตัวแปรเหล่านี้จากภายนอกได้
- ตัวแปรท้องถิ่น: ตัวแปรที่ใช้เฉพาะในบล็อคโค้ดปัจจุบันและไม่ถูกต้องเมื่ออยู่ภายนอกบล็อคโค้ด
คุณสมบัติเอนทิตี้ทั่วโลก
สามารถเพิ่มคุณสมบัติเอนทิตีทั่วโลกได้โดยใช้คุณสมบัติส่วนประกอบเอนทิตีในการตั้งค่าส่วนประกอบ
หลังจากสร้างแอตทริบิวต์เอนทิตีทั่วโลกแล้ว คุณสามารถใช้ Get Global Entity เพื่อรับแอตทริบิวต์ได้:
ใช้ Set Global Entity เพื่อตั้งค่าคุณสมบัติ:
ตัวแปรสคริปต์
ในหมวดตัวแปรมีปุ่มสร้างตัวแปร:
ตัวแปรที่สร้างขึ้นด้วยวิธีนี้คือตัวแปรสคริปต์และใช้สำหรับการประมวลผลข้อมูลในสคริปต์ปัจจุบัน
ในสคริปต์อื่น คุณสามารถรับและตั้งค่าตัวแปรนี้ผ่านการอ้างอิงภายนอกได้:
โปรดทราบเมื่ออ้างอิงถึงสคริปต์อื่นภายนอก: เมื่อรับและตั้งค่า คุณต้องระบุเอนทิตีที่สอดคล้องกันซึ่งได้รับการติดตั้งโดยสคริปต์ที่อ้างอิง
ตัวแปรท้องถิ่น
ตัวแปรดั้งเดิมในพื้นที่ช่วยให้คุณสามารถสร้างตัวแปรที่พร้อมใช้งานในบล็อกโค้ดปัจจุบันเท่านั้น:
คุณสามารถเปลี่ยนชื่อตัวแปรได้โดยการดับเบิลคลิกชื่อตัวแปร:
บล็อกโค้ดเป็นลำดับต่อเนื่องของไพรมิทีฟ ควรสังเกตว่าไพรมิทีฟ “if-else” ในการจำแนกประเภทตามเงื่อนไขคือบล็อกโค้ดสองบล็อกตามค่าเริ่มต้น โดยแต่ละบล็อก “if” “else” และ “else-if” จะเป็นบล็อกโค้ดอิสระ
ฟังก์ชั่นที่กำหนดเอง
เมตาสคริปต์รองรับทั้งฟังก์ชันที่มีและไม่มีค่าส่งคืน
ฟังก์ชันที่มีค่าส่งคืนไม่สามารถเชื่อมโยงกับเอนทิตีอื่นได้เมื่อถูกเรียก เอนทิตีที่เรียกคือค่าส่งคืน
ฟังก์ชันที่ไม่มีค่าส่งคืนสามารถเชื่อมโยงกับฟังก์ชันพื้นฐานอื่น ๆ ได้เมื่อเรียกใช้
รอ: เมื่อฟังก์ชันดั้งเดิมเป็นฟังก์ชันอะซิงโครนัส ฟังก์ชันดั้งเดิมนั้นจะถูกบล็อก และฟังก์ชันดั้งเดิมถัดไปจะถูกดำเนินการหลังจากดำเนินการฟังก์ชันอะซิงโครนัสแล้ว
การดำเนินการ: หากฟังก์ชันดั้งเดิมเป็นฟังก์ชันแบบอะซิงโครนัส จะไม่ถูกบล็อกและฟังก์ชันดั้งเดิมที่ตามมาก็จะถูกดำเนินการต่อไป
ฟังก์ชันอะซิงโครนัสคือฟังก์ชันที่ใช้ฟังก์ชันพื้นฐานที่ดำเนินการประมวลผลแบบอะซิงโครนัส เช่น “รอ”
หมายเหตุ: ไม่รองรับการใช้ไพรมิทีฟแบบอะซิงโครนัสในฟังก์ชันที่มีค่าส่งคืน
หากคุณต้องการให้ฟังก์ชันอะซิงโครนัสส่งคืนค่า ให้ใช้ฟังก์ชัน void และใช้ตัวแปรเอาต์พุต
โดยไม่คำนึงว่าฟังก์ชันที่กำหนดเองจะมีค่าส่งคืนหรือไม่ คุณสามารถใช้ตัวแปรเอาต์พุตของฟังก์ชันที่อยู่ใต้ตัวแปรการเรียกแบบดั้งเดิมเพื่อรับเอาต์พุตได้
กิจกรรมที่กำหนดเอง
นอกเหนือจากเหตุการณ์ต่างๆ อย่างเป็นทางการที่จัดเตรียมไว้แล้ว คุณยังสามารถทริกเกอร์ตรรกะผ่านเหตุการณ์ที่กำหนดเองได้อีกด้วย
คลิกปุ่มเพื่อดำเนินการจัดการเหตุการณ์ที่กำหนดเอง:

คลิกขวาในรายการเหตุการณ์ที่กำหนดเองเพื่อจัดการเหตุการณ์ที่กำหนดเอง:
คลิกปุ่ม + เพื่อสร้างกิจกรรมที่กำหนดเองใหม่:
ที่นี่คุณต้องตั้งชื่อเหตุการณ์ที่กำหนดเอง ประเภทของวัตถุที่จะส่งสัญญาณเหตุการณ์ที่กำหนดเอง และพารามิเตอร์ เฉพาะประเภทของวัตถุที่ระบุเท่านั้นที่จะรับสัญญาณที่ทริกเกอร์เหตุการณ์ได้
ส่งกิจกรรมที่กำหนดเองไปยังผู้เล่นทุกคนในช่วงเริ่มต้นเทิร์นของพวกเขา
ผู้เล่นกระตุ้นตรรกะหลังจากได้รับสัญญาณเหตุการณ์ที่กำหนดเอง
การค้นหาและการใช้งานทั่วไปขององค์ประกอบกราฟิก
ป้อนคำสำคัญเพื่อค้นหาองค์ประกอบที่เกี่ยวข้อง
ในอินเทอร์เฟซการเลือกองค์ประกอบ ให้คลิกขวาที่องค์ประกอบเพื่อตั้งค่าให้เป็นองค์ประกอบที่ใช้บ่อย จากนั้นคุณจะสามารถใช้องค์ประกอบนั้นในหมวดหมู่องค์ประกอบที่ใช้บ่อยได้อย่างรวดเร็ว
ตัวอย่าง
มาใช้ตัวอย่างง่ายๆ เพื่อสาธิตการใช้งานสคริปต์:
การออกแบบเป็นดังนี้:
- ผู้เล่นแต่ละคนจะได้รับ M4A1 เมื่อเข้าร่วมเกม
- เมื่อผู้เล่นทำการยิง จะมีการหักคะแนนสุขภาพของตัวเอง 1 แต้มทุกครั้งที่เขาทำการยิง
สร้างสคริปต์:
- ข้อกำหนดนี้เป็นข้อกำหนดทั่วโลก 2. เป็นข้อกำหนดสำหรับผู้เล่นแต่ละคน ดังนั้นคุณต้องติดตั้งสคริปต์ทั่วโลกและสำหรับผู้เล่นแต่ละคน เซิร์ฟเวอร์จำเป็นต้องทราบเกี่ยวกับการกระจายพร็อพและการหักลบของชีวิต ดังนั้นทั้งสองอย่างจึงถูกสร้างขึ้นเป็นสคริปต์เซิร์ฟเวอร์
แก้ไขสคริปต์:
- ผู้เล่นแต่ละคนที่เข้าร่วมเกมจะต้องออกอุปกรณ์ประกอบฉากหนึ่งครั้ง:
ในการเพิ่มพร็อพเบื้องต้น จำเป็นต้องมีพารามิเตอร์สามอย่าง ได้แก่ เป้าหมายสำหรับการเพิ่มพร็อพ พร็อพที่จะเพิ่ม และจำนวนพร็อพที่ต้องเพิ่ม
เป้าหมายของการเพิ่มพร็อพคือผู้เล่นที่กระตุ้นเหตุการณ์เมื่อผู้เล่นเข้าร่วมเกม พร็อพจะถูกเลือกเป็น M4A1 ผ่านตัวจัดการทรัพยากร และจำนวนคือ 1
สำหรับข้อ 2 จำเป็นต้องหักลบด้านสุขภาพทุกครั้งที่มีการยิงปืน:
เราพบว่าพวกดั้งเดิมไม่ได้ถูกหักค่าสุขภาพออกไปจริงๆ:
การกรอกตัวเลขติดลบในพารามิเตอร์การฟื้นฟูสุขภาพแบบดั้งเดิมจะไม่หักค่าสุขภาพ
อย่างไรก็ตาม ในฐานะของคุณสมบัติของผู้เล่น สุขภาพสามารถปรับได้โดยการตั้งค่าคุณสมบัติ:
ในการตั้งค่าแอตทริบิวต์ดั้งเดิม คุณต้องตั้งค่าเอนทิตี ตั้งค่าแอตทริบิวต์และค่า และคำนวณพารามิเตอร์หลายรายการ
เอนทิตีที่มีการตั้งค่าแอตทริบิวต์คือผู้เล่นในปัจจุบัน ดังนั้นคุณสามารถใช้เอนทิตีนี้และดับเบิลคลิกตำแหน่งพารามิเตอร์เพื่อกรอกเอนทิตีนี้ได้อย่างรวดเร็ว
ค่าแอททริบิวต์ที่ต้องการเปลี่ยนคือค่าสุขภาพปัจจุบัน เลือกค่าสุขภาพปัจจุบัน
ค่าที่ตั้งไว้คือค่าสุขภาพปัจจุบันลบ 1 ดังนั้นจำเป็นต้องรับค่าสุขภาพปัจจุบัน
ใช้การลบวิธีการจำแนกข้อมูลเพื่อลดจำนวนลงหนึ่งและเพิ่มพารามิเตอร์:
คุณยังสามารถใช้การดำเนินการตั้งค่าแอตทริบิวต์ดั้งเดิมโดยตรงเพื่อใช้งานตรรกะนี้ได้:
เรียกใช้ดีบักเกอร์เพื่อดูผลลัพธ์:
ทุกคนได้รับ M4A1
ยิงไป 8 ครั้ง และเสียพลังชีวิตไป 8 แต้ม
เมื่อทำการยิง การยิงจะเริ่มทำงานทุกครั้งที่มีคำสั่งยิง การยิงอาวุธระเบิดก่อนที่จะลดอาวุธลงถือเป็นการยิงหนึ่งครั้ง และเหตุการณ์นี้สามารถเกิดขึ้นได้เพียงครั้งเดียวเท่านั้น