วันพฤหัสบดีที่ 24 ธันวาคม พ.ศ. 2558

Construct 2 : Pin behavior ตอนที่ 2

หากยังไม่ได้ศึกษาบทความ Pin behavior ตอนที่ 1 ขอให้กลับไปศึกษาก่อน เพื่อความเข้าใจ
กำหนดค่าของเหตุการณ์ใน Event sheet โดยกำหนดค่าดังนี้
- Add event -> system -> on start of layout
- Add blank sub-event
- Add local variable   -> name uid1
- Add local variable   -> name uid2
ซึ่งควรจะได้คำสั่งดังนี้

กำหนดการกระทำ สำหรับเหตุการณ์ on start of layout ดังนี้
- add action -> tailpiece -> Pin to object -> snake, ROPE STYLE


- add action -> system -> set variable -> uid1 to tailpiece.UID


ซึ่งควรจะได้คำสั่งดังนี้


ตัวแปร uid1 จะใช้เก็บค่า unique identifier ของหัวงู เพื่อให้หางงูสามารถมาต่อเพิ่มได้เรื่อยๆ

ในขั้นตอนต่อไปจะเป็นการสร้างวัตถุที่หางของงู โดยเพิ่ม sub-event ใหม่ภายใต้ On start of layout โดยกำหนดเป็นการวนซ้ำแบบ For กำหนดจำนวนรอบ ตามจำนวนของวัตถุหางที่ต้องการจะสร้าง ตัวอย่างกำหนดไว้ 18


กำหนดการทำงาน ดังนี้
- add action -> System -> Create object -> tail, layer: 0, X: tail.X - (16 * loopindex), Y: tail.Y


- add action -> System -> set variable -> uid2 to tail.UID
ซึ่งควรจะได้คำสั่งดังนี้


เมื่อทำสอบการทำงานของเกม จะต้องได้หางของงูเพิ่มต่อมาจากหัวงู



ขั้นต่อไป จะทำการ Pin หางของงูต่อเข้าด้วยกัน ด้วยคำสั่งต่อไปนี้
เพิ่มเหตุการณ์ย่อยภายใต้คำสั่ง For ดังนี้
System -> Pick all tailpiece
tailpiece -> pick instance with UID uid1
tailpiece -> pick instance with UID uid2
และเพิ่มการกระทำสำหรับเหตุการณ์ย่อย ดังนี้
tailpiece -> Pin to tail ROPE STYLE!
System -> Set variable -> uid1 to uid2


การทำงานในทุกรอบของการวนซ้ำ จะทำการ pin หางของงูต่อจากหางเดิมไปเรื่อย ๆ



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

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

แสดงความคิดเห็น