วันเสาร์ที่ 5 มีนาคม พ.ศ. 2559
construct 2 : ยิงปืนใหญ่แบบโพรเจกไทล์
เกมยิงปืนใหญ่ เป็นเกมที่คลาสสิคมากในสมัยก่อน แต่เป็นเกมที่ฝึกสมองอย่างหนึ่ง บางทีก็อาจช่วยในการเรียนรู้วิชาฟิสิกส์อีกด้วยครับ แต่ที่จะนำเสนอวันนี้ คือ การกำหนดค่ามุมและความเร็วของกระสุนปืนที่ยิงไป ซึ่งจะเปลี่ยนแปลงไปตลอดการเล่นเกม
การเคลื่อนที่แบบโพรเจกไทล์ เป็นการเคลื่อนที่ของวัตถุ โดยมีแนวการเคลื่อนที่เป็นแนวโค้ง ตัวอย่าง : การเคลื่อนที่ของลูกธนู กระสุนปืนใหญ่ การเคลื่อนที่ของลูกเทนนิส การเคลื่อนที่ของลูกบอลที่ถูกเตะโด่ง
ลงมือสร้างเกมกันเลย สร้างโปรเจคใหม่ขึ้นมา กำหนดขนาด window size เท่ากับ 800, 480 และ layout size เท่ากับ 800, 480
แทรกพื้นดินสำหรับตั้งปืนใหญ่ กำหนดคุณสมบัติเป็นแบบ solid อาจจะเพิ่มฉากหลังด้วยก็ได้นะครับ เพื่อความสวยงามของเกม
แทรกวัตถุปืนใหญ่ แบบ sprite เข้ามาในเกม โดยกำหนด image point 1 ที่ปลายกระบอกปืน แล้วนำมาลงในเกมที่ตำแหน่งมุมด้านขวา
ต่อไปสร้างกระสุนปืนใหญ่ ด้วยการแทรกวัตถุแบบ sprite เข้ามาในเกม ตั้งชื่อเป็น bullet และกำหนดพฤติกรรม behaviorsแบบ bullet โดยกำหนดให้ gravity = 20 กำหนด size เป็น 15,15 และวางไว้นอกพื้นที่เกม
เพิ่ม slider bar เข้ามาในเกม เพื่อใช้ปรับความเร็วของกระสุน โดยตั้งชื่อว่า speedbar กำหนด property ดังนี้
value = 100 กำหนดค่าเริ่มต้นของ slider bar
minimum =0 กำหนดค่าต่ำสุดของ slider bar
maximum = 150 กำหนดค่าสูงสุดของ slider bar
step = 5 กำหนดค่าช่วงข้อมูลของ slider bar
เพิ่ม slider bar เข้ามาในเกมอีกหนึ่งตัว เพื่อใช้ปรับมุมของปืนใหญ่ โดยตั้งชื่อว่า anglebar กำหนด property ดังนี้
value = 300 กำหนดค่าเริ่มต้นของ slider bar
minimum =270 กำหนดค่าต่ำสุดของ slider bar
maximum = 360 กำหนดค่าสูงสุดของ slider bar
step = 1 กำหนดค่าช่วงข้อมูลของ slider bar
จัดวาง และเพิ่ม text เพื่อความสวยงาม
เพิ่มวัตถุแบบ Mouse เข้ามาในเกม เพื่อใช้ควบคุมการทำงานและยิงกระสุนปืน
กำหนดคำสั่งสำหรับการทำงาน ดังนี้
ทดสอบการเล่นเกม จะพบว่า เมื่อเราปรับความเร็วของกระสุนหรือปรับมุมในการยิงของปืนใหญ่ ระยะที่กระสุนพุ่งไปจะแตกต่างกัน ซึ่งเป็นไปตามหลักการของการเคลื่อนที่แบบโพรเจกไทล์ หลักการนี้สามารถนำไปประยุกต์ในการสร้างเกมได้หลากหลาย ของให้สนุกกับการสร้างเกมนะครับ
ป้ายกำกับ:
ปืนใหญ่,
โพรเจกไทล์,
สร้างเกม,
bullet,
construct 2
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น