เมตาสคริปต์

บทความนี้จะแนะนำวิธีการแก้ไขเมตาสคริปต์

คำอธิบายอินเทอร์เฟซ

รูปภาพ-20240719154714450

  1. Canvas พื้นที่แก้ไขหลัก
    2.ไฟล์ที่กำลังแก้ไขอยู่
  2. การจำแนกองค์ประกอบ คลิกองค์ประกอบใด ๆ เพื่อขยายอินเทอร์เฟซการเลือกองค์ประกอบ
  3. แผงคุณสมบัติ

คำอธิบายการจำแนกธาตุ

  1. หมวดหมู่องค์ประกอบกราฟิกที่สอดคล้องกับภูมิภาค ได้แก่:

  2. ค้นหา: ป้อนคำสำคัญเพื่อค้นหาภาพกราฟิก

  3. ที่ใช้กันทั่วไป: ชุดกราฟิกที่ใช้กันทั่วไปจะอยู่ที่นี่

  4. เหตุการณ์: จะเกิดขึ้นเมื่อตรงตามเงื่อนไขซึ่งถือเป็นจุดเริ่มต้นของตรรกะ

  5. เงื่อนไข : ใช้สำหรับควบคุมการไหลของสคริปต์

  6. พฤติกรรม: การดำเนินการจริงกับข้อมูล/เอนทิตี้

  7. โมดูล: พฤติกรรมเฉพาะโมดูลบางประการ

  8. ข้อมูล: การประมวลผลข้อมูล

  9. ตัวแปร: ใช้ตัวแปรที่มีอยู่หรือเพิ่มตัวแปร

  10. ฟังก์ชัน: ใช้หรือสร้างฟังก์ชันที่กำหนดเอง

  11. การเรียกภายนอก: เรียกใช้ฟังก์ชันที่กำหนดเองของสคริปต์อื่น

การใช้กราฟิก

คำอธิบายเมตา

ส่วนนูนใต้ส่วนดั้งเดิมบ่งบอกว่าส่วนดั้งเดิมอื่น ๆ สามารถเชื่อมโยงกับส่วนนั้นได้

รูปภาพ-20240719162414368

รอยบุ๋มเหนือส่วนดั้งเดิมหมายถึงส่วนดั้งเดิมอื่น ๆ สามารถเชื่อมโยงกันก่อนส่วนดั้งเดิมนี้ และจะทำงานหลังจากส่วนดั้งเดิมก่อนหน้าทำงานเท่านั้น

รูปภาพ-20240719162458868

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

รูปภาพ-20240719162532230

ถ้าไม่มีความนูนหรือเว้าอยู่ด้านบนหรือด้านล่าง แสดงว่าข้อมูลดั้งเดิมนั้นเป็นชิ้นข้อมูลหนึ่ง และสามารถนำไปยังข้อมูลดั้งเดิมอื่นได้

รูปภาพ-20240719162637872

ไพรมิทีฟจะมีพารามิเตอร์อินพุตและเอาต์พุต:

พารามิเตอร์อินพุต:

พารามิเตอร์อินพุตจะว่างเปล่าตามค่าเริ่มต้น และประเภทที่ทำเครื่องหมายไว้ข้างในจะเป็นประเภทของพารามิเตอร์ที่ต้องการ

รูปภาพ-20240719163219101

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

พารามิเตอร์เอาท์พุต:

พารามิเตอร์เอาต์พุตเป็นสี่เหลี่ยมสีตามค่าเริ่มต้น ซึ่งสามารถลากเพื่อกรอกช่องพารามิเตอร์อินพุตที่ต้องการได้:

รูปภาพ-20240719163455421

การใช้คำดั้งเดิม

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

รูปภาพ-20240719161426471

รูปภาพ-20240719161444643

การใช้แบบดั้งเดิมที่มีร่องอยู่ด้านบน คุณสามารถเชื่อมแบบดั้งเดิมทั้งสองเข้าด้วยกันได้:

รูปภาพ-20240719161910607

รูปภาพ-20240719161930593

ตรรกะของกลุ่มของสิ่งดั้งเดิมจะมาจากบนลงล่างเสมอ:

รูปภาพ-20241105153444063

รูปภาพ-20241105153522814

สำหรับกลุ่มขององค์ประกอบกราฟิกที่เชื่อมต่อกันเป็นชุด จำเป็นต้องกรอกพารามิเตอร์อินพุตที่จำเป็นด้วยข้อมูลที่เหมาะสมเพื่อให้แน่ใจว่าสคริปต์ทำงานได้ตามปกติ ตัวแปรที่ไม่เหมาะสมจะส่งผลให้เกิดข้อผิดพลาด คลิกที่ข้อผิดพลาดเพื่อดูข้อความแสดงข้อผิดพลาด:

รูปภาพ-20240719163823327

รูปภาพ-20240719163854644

เมื่อคุณลากองค์ประกอบ องค์ประกอบด้านล่างก็จะถูกลากออกไปด้วยเช่นกัน:

รูปภาพ-20240906110832061

รูปภาพ-20240906110844840

กดปุ่ม Ctrl ค้างไว้แล้วลากเพื่อลากเฉพาะองค์ประกอบปัจจุบัน และองค์ประกอบด้านล่างจะเชื่อมต่อกับองค์ประกอบด้านบนโดยอัตโนมัติ:

รูปภาพ-20240906110855565

แผงคุณสมบัติองค์ประกอบ

คลิกที่องค์ประกอบแล้วมันจะถูกเลือก

รูปภาพ-20241122190755370

ในแผงตรวจสอบทางด้านขวา คุณสามารถดูข้อมูลโดยละเอียดขององค์ประกอบที่เลือก รวมถึงชื่อ คำอธิบาย ชื่อพารามิเตอร์ ประเภทพารามิเตอร์ ประเภทค่าส่งคืน คำอธิบายค่าส่งคืน ฯลฯ

รูปภาพ-20241122190944942

การควบคุมการไหล

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

กรุณาดูคำแนะนำโดยละเอียดได้จากลิงค์ต่อไปนี้:

หมายเหตุเพิ่มเติมเกี่ยวกับสคริปต์

ตัวแปร

สามารถกำหนดหรือแก้ไขตัวแปรได้สามประเภทที่ตำแหน่งตัวแปร:

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

คุณสมบัติเอนทิตี้ทั่วโลก

สามารถเพิ่มคุณสมบัติเอนทิตีทั่วโลกได้โดยใช้คุณสมบัติส่วนประกอบเอนทิตีในการตั้งค่าส่วนประกอบ

รูปภาพ-20240719170731723

รูปภาพ-20240719170751222

รูปภาพ-20240719170812335

หลังจากสร้างแอตทริบิวต์เอนทิตีทั่วโลกแล้ว คุณสามารถใช้ Get Global Entity เพื่อรับแอตทริบิวต์ได้:

รูปภาพ-20240719170915428

ใช้ Set Global Entity เพื่อตั้งค่าคุณสมบัติ:

รูปภาพ-20240719170953632

ตัวแปรสคริปต์

ในหมวดตัวแปรมีปุ่มสร้างตัวแปร:

รูปภาพ-20240719171622005

รูปภาพ-20240719171647910

ตัวแปรที่สร้างขึ้นด้วยวิธีนี้คือตัวแปรสคริปต์และใช้สำหรับการประมวลผลข้อมูลในสคริปต์ปัจจุบัน

ในสคริปต์อื่น คุณสามารถรับและตั้งค่าตัวแปรนี้ผ่านการอ้างอิงภายนอกได้:

รูปภาพ-20240719171819031

โปรดทราบเมื่ออ้างอิงถึงสคริปต์อื่นภายนอก: เมื่อรับและตั้งค่า คุณต้องระบุเอนทิตีที่สอดคล้องกันซึ่งได้รับการติดตั้งโดยสคริปต์ที่อ้างอิง

ตัวแปรท้องถิ่น

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

รูปภาพ-20240719171508081

คุณสามารถเปลี่ยนชื่อตัวแปรได้โดยการดับเบิลคลิกชื่อตัวแปร:

รูปภาพ-20240719171540482

บล็อกโค้ดเป็นลำดับต่อเนื่องของไพรมิทีฟ ควรสังเกตว่าไพรมิทีฟ “if-else” ในการจำแนกประเภทตามเงื่อนไขคือบล็อกโค้ดสองบล็อกตามค่าเริ่มต้น โดยแต่ละบล็อก “if” “else” และ “else-if” จะเป็นบล็อกโค้ดอิสระ

รูปภาพ-20240722192115698

รูปภาพ-20240722192055277

ฟังก์ชั่นที่กำหนดเอง

เมตาสคริปต์รองรับทั้งฟังก์ชันที่มีและไม่มีค่าส่งคืน

ฟังก์ชันที่มีค่าส่งคืนไม่สามารถเชื่อมโยงกับเอนทิตีอื่นได้เมื่อถูกเรียก เอนทิตีที่เรียกคือค่าส่งคืน

รูปภาพ-20240719180031043

รูปภาพ-20240719180117743

ฟังก์ชันที่ไม่มีค่าส่งคืนสามารถเชื่อมโยงกับฟังก์ชันพื้นฐานอื่น ๆ ได้เมื่อเรียกใช้

รูปภาพ-20240719180039563

รูปภาพ-20240719180134147

รอ: เมื่อฟังก์ชันดั้งเดิมเป็นฟังก์ชันอะซิงโครนัส ฟังก์ชันดั้งเดิมนั้นจะถูกบล็อก และฟังก์ชันดั้งเดิมถัดไปจะถูกดำเนินการหลังจากดำเนินการฟังก์ชันอะซิงโครนัสแล้ว

การดำเนินการ: หากฟังก์ชันดั้งเดิมเป็นฟังก์ชันแบบอะซิงโครนัส จะไม่ถูกบล็อกและฟังก์ชันดั้งเดิมที่ตามมาก็จะถูกดำเนินการต่อไป

ฟังก์ชันอะซิงโครนัสคือฟังก์ชันที่ใช้ฟังก์ชันพื้นฐานที่ดำเนินการประมวลผลแบบอะซิงโครนัส เช่น “รอ”

รูปภาพ-20240722105341566

หมายเหตุ: ไม่รองรับการใช้ไพรมิทีฟแบบอะซิงโครนัสในฟังก์ชันที่มีค่าส่งคืน

รูปภาพ-20240806115625031

หากคุณต้องการให้ฟังก์ชันอะซิงโครนัสส่งคืนค่า ให้ใช้ฟังก์ชัน void และใช้ตัวแปรเอาต์พุต

รูปภาพ-20240806115658582

โดยไม่คำนึงว่าฟังก์ชันที่กำหนดเองจะมีค่าส่งคืนหรือไม่ คุณสามารถใช้ตัวแปรเอาต์พุตของฟังก์ชันที่อยู่ใต้ตัวแปรการเรียกแบบดั้งเดิมเพื่อรับเอาต์พุตได้

รูปภาพ-20240806113746376

รูปภาพ-20240806121329099

กิจกรรมที่กำหนดเอง

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

รูปภาพ-20250630114130051

คลิกปุ่มเพื่อดำเนินการจัดการเหตุการณ์ที่กำหนดเอง:

image-20250630114142109

คลิกขวาในรายการเหตุการณ์ที่กำหนดเองเพื่อจัดการเหตุการณ์ที่กำหนดเอง:

รูปภาพ-20250630114340277

คลิกปุ่ม + เพื่อสร้างกิจกรรมที่กำหนดเองใหม่:

รูปภาพ-20250630114208389

ที่นี่คุณต้องตั้งชื่อเหตุการณ์ที่กำหนดเอง ประเภทของวัตถุที่จะส่งสัญญาณเหตุการณ์ที่กำหนดเอง และพารามิเตอร์ เฉพาะประเภทของวัตถุที่ระบุเท่านั้นที่จะรับสัญญาณที่ทริกเกอร์เหตุการณ์ได้

รูปภาพ-20250121181204861

ส่งกิจกรรมที่กำหนดเองไปยังผู้เล่นทุกคนในช่วงเริ่มต้นเทิร์นของพวกเขา

รูปภาพ-20250121181429023

ผู้เล่นกระตุ้นตรรกะหลังจากได้รับสัญญาณเหตุการณ์ที่กำหนดเอง

การค้นหาและการใช้งานทั่วไปขององค์ประกอบกราฟิก

ป้อนคำสำคัญเพื่อค้นหาองค์ประกอบที่เกี่ยวข้อง

รูปภาพ-20240719181845696

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

รูปภาพ-20240719182033312

รูปภาพ-20240719182130450

ตัวอย่าง

มาใช้ตัวอย่างง่ายๆ เพื่อสาธิตการใช้งานสคริปต์:

การออกแบบเป็นดังนี้:

  1. ผู้เล่นแต่ละคนจะได้รับ M4A1 เมื่อเข้าร่วมเกม
  2. เมื่อผู้เล่นทำการยิง จะมีการหักคะแนนสุขภาพของตัวเอง 1 แต้มทุกครั้งที่เขาทำการยิง

สร้างสคริปต์:

  1. ข้อกำหนดนี้เป็นข้อกำหนดทั่วโลก 2. เป็นข้อกำหนดสำหรับผู้เล่นแต่ละคน ดังนั้นคุณต้องติดตั้งสคริปต์ทั่วโลกและสำหรับผู้เล่นแต่ละคน เซิร์ฟเวอร์จำเป็นต้องทราบเกี่ยวกับการกระจายพร็อพและการหักลบของชีวิต ดังนั้นทั้งสองอย่างจึงถูกสร้างขึ้นเป็นสคริปต์เซิร์ฟเวอร์

รูปภาพ-20240719183317332

รูปภาพ-20240719183333435

แก้ไขสคริปต์:

  1. ผู้เล่นแต่ละคนที่เข้าร่วมเกมจะต้องออกอุปกรณ์ประกอบฉากหนึ่งครั้ง:

รูปภาพ-20240719183627320

ในการเพิ่มพร็อพเบื้องต้น จำเป็นต้องมีพารามิเตอร์สามอย่าง ได้แก่ เป้าหมายสำหรับการเพิ่มพร็อพ พร็อพที่จะเพิ่ม และจำนวนพร็อพที่ต้องเพิ่ม

เป้าหมายของการเพิ่มพร็อพคือผู้เล่นที่กระตุ้นเหตุการณ์เมื่อผู้เล่นเข้าร่วมเกม พร็อพจะถูกเลือกเป็น M4A1 ผ่านตัวจัดการทรัพยากร และจำนวนคือ 1

รูปภาพ-20240719183756275

สำหรับข้อ 2 จำเป็นต้องหักลบด้านสุขภาพทุกครั้งที่มีการยิงปืน:

เราพบว่าพวกดั้งเดิมไม่ได้ถูกหักค่าสุขภาพออกไปจริงๆ:

รูปภาพ-20240719183925677

การกรอกตัวเลขติดลบในพารามิเตอร์การฟื้นฟูสุขภาพแบบดั้งเดิมจะไม่หักค่าสุขภาพ

อย่างไรก็ตาม ในฐานะของคุณสมบัติของผู้เล่น สุขภาพสามารถปรับได้โดยการตั้งค่าคุณสมบัติ:

รูปภาพ-20240719184034769

ในการตั้งค่าแอตทริบิวต์ดั้งเดิม คุณต้องตั้งค่าเอนทิตี ตั้งค่าแอตทริบิวต์และค่า และคำนวณพารามิเตอร์หลายรายการ

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

รูปภาพ-20240719184236329

ค่าแอททริบิวต์ที่ต้องการเปลี่ยนคือค่าสุขภาพปัจจุบัน เลือกค่าสุขภาพปัจจุบัน

ค่าที่ตั้งไว้คือค่าสุขภาพปัจจุบันลบ 1 ดังนั้นจำเป็นต้องรับค่าสุขภาพปัจจุบัน

รูปภาพ-20240719184443713

ใช้การลบวิธีการจำแนกข้อมูลเพื่อลดจำนวนลงหนึ่งและเพิ่มพารามิเตอร์:

รูปภาพ-20240719184604249

รูปภาพ-20240719184622223

คุณยังสามารถใช้การดำเนินการตั้งค่าแอตทริบิวต์ดั้งเดิมโดยตรงเพื่อใช้งานตรรกะนี้ได้:

รูปภาพ-20240719184700828

เรียกใช้ดีบักเกอร์เพื่อดูผลลัพธ์:

รูปภาพ-20240719184826220

ทุกคนได้รับ M4A1

รูปภาพ-20240719184935284

ยิงไป 8 ครั้ง และเสียพลังชีวิตไป 8 แต้ม

เมื่อทำการยิง การยิงจะเริ่มทำงานทุกครั้งที่มีคำสั่งยิง การยิงอาวุธระเบิดก่อนที่จะลดอาวุธลงถือเป็นการยิงหนึ่งครั้ง และเหตุการณ์นี้สามารถเกิดขึ้นได้เพียงครั้งเดียวเท่านั้น