หากยังไม่ได้ศึกษาบทความ 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 หางของงูต่อจากหางเดิมไปเรื่อย ๆ
ถ้าหากทดสอบเกมจะพบว่า เมื่อเคลื่อนที่ส่วนหัวของงู หางของงูจะเคลื่อนที่ตามส่วนหางที่อยู่ข้างหน้าไปเรื่อยๆ สามารถนำไปประยุกต์ใช้ในการสร้างเกมในลักษณะของการเชื่อมต่อวัตถุที่มีการทำงานลักษณะเดียวกันได้ ขอให่สนุกกับการสร้างเกมนะครับ
แสดงบทความที่มีป้ายกำกับ behavior แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ behavior แสดงบทความทั้งหมด
วันพฤหัสบดีที่ 24 ธันวาคม พ.ศ. 2558
Construct 2 : Pin behavior ตอนที่ 1
Pin behavior คือพฤติกรรมของวัตถุที่มีความสัมพันธ์ของระยะทางและมุมกับวัตถุอื่น เสมือนว่า เอาเข็มไปตรึงวัตถุเอาไว้กับวัตถุที่ต้องการ หรือมีคนสองคนที่คนหนึ่งทำท่าทางเลียนแบบอีกคนหนึ่งนั่นเอง
การกำหนดการทำงานของพฤติกรรมแบบ Pin มีดังนี้
Position & angle จะถูกตั้งเป็นค่าเริ่มต้น โดยจะเก็บความสัมพันธ์ของระยะทางและมุมของวัตถุที่เชื่อมต่อ จะรักษาตำแหน่งในการเคลื่อนที่และมุมที่หมุนไปกับวัตถุที่เชื่อมต่อ
Position only การเชื่อมแบบนี้ มุมของวัตถุจะไม่เปลี่ยนไปตามวัตถุที่เชื่อม จะเปลี่ยนเฉพาะตำแหน่งของวัตถุเท่านั้น
Angle only การเชื่อมต่อแบบนี้ มุมของวัตถุจะเปลี่ยนไปตามวัตถุที่เชื่อ แต่ตำแหน่งจะไม่เปลี่ยนแปลง
Rope style การเชื่อมต่อแบบนี้ วัตถุจะไม่หมุนตาม แต่จะรักษาระยะห่างไม่เกินค่าสูงสุดของระยะห่างที่กำหนด
Bar style การเชื่อมต่อแบบนี้ วัตถุจะไม่หมุนตาม แต่จะรักษาระยะห่างระหว่างวัตถุคงที่เสมอ
ขอยกตัวอย่างเกมที่ใช้คุณสมบัติของ Pin behavior เป็นเกมงูกินหางก็แล้วกันนะครับ ลักษณะของเกม คือบังคับหัวงูให้เคลื่อนที่ไปชนวัตถุ เมื่อวัตถุถูกชนจะย้ายมาต่อหางงู ตัวงูก็จะยาวออกไปเรื่อยๆ
สร้างโปรเจคใหม่ แล้วบันทึกชื่อว่า snake
สร้างตัวละครขึ้นมาใหม่ ชื่อ snake
วาดภาพตัวละครเป็นลักษณะของหัวงู
กำหนดพฤติกรรมเป็นแบบ 8 Direction
สร้างตัวละครเพิ่มอีกตัว ตั้งชื่อว่า Enemy และวางไว้ในเกม
สร้างตัวละครสำหรับเป็นหางของงู ชื่อ tail
วางวัตถุต่อจากหัวของงู ในลักษณะของหาง
ทำการ add family กำหนดชื่อเป็น tailpiece
แล้วเพิ่ม tail เข้าไป
กำหนดพฤติกรรมให้กับ family tailpiece เป็นแบบ pin
การกำหนดเหตุการณ์สำหรับการเชื่อมต่อหางของงู จะกล่าวถึงในตอนที่ 2 Pin behavior ตอนที่ 2
การกำหนดการทำงานของพฤติกรรมแบบ Pin มีดังนี้
Position & angle จะถูกตั้งเป็นค่าเริ่มต้น โดยจะเก็บความสัมพันธ์ของระยะทางและมุมของวัตถุที่เชื่อมต่อ จะรักษาตำแหน่งในการเคลื่อนที่และมุมที่หมุนไปกับวัตถุที่เชื่อมต่อ
Position only การเชื่อมแบบนี้ มุมของวัตถุจะไม่เปลี่ยนไปตามวัตถุที่เชื่อม จะเปลี่ยนเฉพาะตำแหน่งของวัตถุเท่านั้น
Angle only การเชื่อมต่อแบบนี้ มุมของวัตถุจะเปลี่ยนไปตามวัตถุที่เชื่อ แต่ตำแหน่งจะไม่เปลี่ยนแปลง
Rope style การเชื่อมต่อแบบนี้ วัตถุจะไม่หมุนตาม แต่จะรักษาระยะห่างไม่เกินค่าสูงสุดของระยะห่างที่กำหนด
Bar style การเชื่อมต่อแบบนี้ วัตถุจะไม่หมุนตาม แต่จะรักษาระยะห่างระหว่างวัตถุคงที่เสมอ
ขอยกตัวอย่างเกมที่ใช้คุณสมบัติของ Pin behavior เป็นเกมงูกินหางก็แล้วกันนะครับ ลักษณะของเกม คือบังคับหัวงูให้เคลื่อนที่ไปชนวัตถุ เมื่อวัตถุถูกชนจะย้ายมาต่อหางงู ตัวงูก็จะยาวออกไปเรื่อยๆ
สร้างโปรเจคใหม่ แล้วบันทึกชื่อว่า snake
สร้างตัวละครขึ้นมาใหม่ ชื่อ snake
วาดภาพตัวละครเป็นลักษณะของหัวงู
กำหนดพฤติกรรมเป็นแบบ 8 Direction
สร้างตัวละครเพิ่มอีกตัว ตั้งชื่อว่า Enemy และวางไว้ในเกม
สร้างตัวละครสำหรับเป็นหางของงู ชื่อ tail
วางวัตถุต่อจากหัวของงู ในลักษณะของหาง
ทำการ add family กำหนดชื่อเป็น tailpiece
แล้วเพิ่ม tail เข้าไป
กำหนดพฤติกรรมให้กับ family tailpiece เป็นแบบ pin
การกำหนดเหตุการณ์สำหรับการเชื่อมต่อหางของงู จะกล่าวถึงในตอนที่ 2 Pin behavior ตอนที่ 2
สมัครสมาชิก:
บทความ (Atom)



















