วันจันทร์ที่ 11 มกราคม พ.ศ. 2559

Construct 2 : ปืนคู่

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

ปืนที่จะขอนำเสนอ เป็นปืนจากเครื่องบินขับไล่ก็แล้วกันนะครับ ก่อนอื่นก็ต้องสร้างเครื่องบินขึ้นมาก่อน โดยการ insert new object เลือก sprite และตั้งชื่อว่า Fighter


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


กำหนดค่า มุมของเครื่องบินขับไล่ให้เป็น 270 เพื่อให้เครื่องบินมีทิศทางตั้งขึ้น


เมื่อได้เครื่องบินแล้ว ต่อไปต้องสร้างกระสุนที่จะยิงออกมาจากเครื่องบิน ทำการ insert new object เลือก sprite ขึ้นมาอีกตัว ตั้งชื่อว่า bullet แล้วปรับขนาดให้เหมาะสมกับเครื่องบิน แล้วย้ายไปวางไว้นอกพื้นที่ของเกม


กำหนด behaviors ให้กับ bullet เป็นแบบ Bullet และ DestroyOutsideLayout


กำหนดคุณสมบัติ Behaviors ของกระสุน ให้มี speed เป็น 150


ขั้นตอนต่อไป insert mouse เข้ามาในเกม โดยการ insert new object แล้วเลือก mouse


กำหนด image points ของเครื่องบิน เพื่อเป็นจุดสำหรับสร้างกระสุนให้พุ่งออกไป โดย ดับเบิลคลิกที่เครื่องบินให้เปิดหน้าต่างแก้ไขภาพขึ้นมา เลือกเครื่องมือ set origin and image points
คลิกที่ เครื่องหมายบวก จะได้ Imagepoint1 ขึ้นมา แล้วนำเมาส์ไปคลิกที่ตำแหน่งปืนของเครื่องบิน สังเกตุจุดที่เป็นสี่เหลี่ยม


ทำลักษณะเดียวกันกับจุดของปืนหมายเลขสอง


กำหนดเหตุการณ์ เพื่อให้เครื่องบินยิงกระสุน เมื่อมีการคลิกเมาส์ โดย add event ขึ้นมา ดังนี้
คลิก add event แล้วเลือก mouse


เลือกเหตุการณ์ on click


เลือกการคลิกสำหรับปุ่มซ้ายของเมาส์


เพิ่ม add action เลือกวัตถุ Fighter แล้วคลิก Next


เลือกคำสั่ง Spawn another object แล้วคลิก Next


คลิกเลือก Object เป็น bullet  และกำหนด Image point เป็น 1 คือ ตำแหน่งของปืนกระบอกที่ 1


เพิ่ม add action อีกครั้งตามขั้นตอนเดิม แต่ให้เปลี่ยน Image point เป็น 2  คือ ตำแหน่งของปืนกระบอกที่ 2


จะได้คำสั่ง ดังนี้


เมื่อทดลองเล่นเกม จะพบว่า เมื่อคลิกปุ่มซ้ายของเมาส์ เครื่องบินจะยิงกระสุนออกไปจากปืนทั้งสองข้างของปีกเครื่องบิน



เพิ่มเติมอีกนิด สำหรับการหมุนเครื่องบินให้ยิงกระสุนไปตามทิศทางของการเคลื่อนเมาส์ สามารถกำหนดคำสั่งได้ดังนี้
เพิ่มเหตุการณ์ add event เลือก System และ Every tick
เพิ่มการทำงาน add action เลือกวัตถุ Fighter แล้วคลิก Next


เลือกคำสั่ง Set angle toward position


กำหนดค่าตำแหน่ง X และ Y เป็นตำแหน่ง XY ของเมาส์


จะได้คำสั่ง ดังนี้


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


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

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