หน่วยที่ 9 : player ยิงปืนได้ 2 ทิศทาง

player ยิงปืน 1 ทิศทาง

กำหนดให้ player ยิงกระสุนพลังออกมาได้เพื่อทำลาย monster (ปล่อยพลัง ใช้วิธีการทำแบบเดียวกัน)


ที่ตัว player

    • (1) กำหนดจุด image point ใหม่ (ปกติจะอยู่กลางภาพ)

    • (2) คลิกที่ปากกระบอกปืน เพราะกระสุนจะออกจากจุด image point

ต้องสร้างกระสุน

  • Insert new object --> Sprite --> ตั้งชื่อ bullet

  • ใช้พู่กัน(1) ปรับขนาดและความคมชัดของขอบกระสุน(2) เลือกสี(3) จุดลงไป(4) resize ภาพ(5)

  • Behaviors ของกระสุน เลือกเป็น bullet

  • ที่ Layout ให้ insert keyboars เข้ามาไว้ด้วย เพราะเราจะกดคีย์เพื่อยิงกระสุน

Event sheet

Add event -->

    • keyboard --> next

    • key is down --> next

    • click to choose เลือกกดคีย์บนคีย์บอร์ดเพื่อยิง เช่น spacebar /X / Z เป็นต้น

    • Done

Add action (1)

    • player --> next

    • spawn another object --> next (spawn คือ การวางไข่ หรือให้มีวัตถุปรากฏออกมาจากวัตถุแรก)

    • click to choose --> เลือก bullet --> layer "game" (เลือก bullet เพื่อให้ spawn ลูกกระสุนออกมา)

Add action (2)

    • bullet --> next

    • set angle of motion --> next (ตั้งค่าทิศทางของ bullet)

    • angle = 0 --> Done (0 คือ จากซ้ายไปขวา / 180 คือ จากขวาไปซ้าย)

  • เมื่อทดลองกดคีย์ที่ตั้งค่าไว้ (ครูตั้งไว้ที่ปุ่ม spacebar) จะมีลูกกลมออกมา

  • แต่เมื่อกดค้างไว้จะเป็นว่า ลูกกลมจะออกมาติดๆ กันจนเป็นเส้น ให้เราเพิ่มเงื่อนไขอีก

  • คลิกขวาหน้า event ของ keyboard

    • Add --> Another condition

    • system --> next

    • Every X secound --> next (ทุกๆ กี่วินาที)

    • ใส่จำนวนเวลาที่จะให้ลูกกลมปรากฏออกมา เช่น ครูใส่ 0.3 คือ ทุกๆ 0.3 วินาที จะมีลูกกลมออกมา 1 ลูก ทำแบบนี้กระสุนเราจะไม่ออกมาติดๆ กัน

กำหนดให้กระสุนทำลาย monster

Add event

    • bullet --> next

    • on collision with another object --> next (เมื่อกระสุข ชน กับวัตถุอื่น)

    • click to choose เลือก monster --> OK

Add action

        • monster --> Destroy (ให้ monster ถูกทำลายหายไป)

Event sheet

player ยิงปืนได้ 2 ทิศทาง

player ยิงปืน 2 ยิงปืน ปล่อยพลัง ปล่อยสายฟ้า ฯลฯ ทำแบบเดียวกันค่ะ

ในตอนนี้เราจะมาทำ player ยิงปืนแบบ 2 ทิศทาง คือ ยิงไปทางซ้าย-ยิงไปทางขวา ได้ จุดประสงค์คือ เมื่อ player เดินไปซ้ายหรือขวา ลูกปืนต้องเปลี่ยนทิศทางตามไปด้วย ก่อนอื่นเราต้องทำ

* Behaviors ของกระสุน เลือกเป็น Bullet และ Fade สำหรับให้จางหาย *



* Bullet speed คือ ความเร็วของการเคลื่อนที่ *


Add event

    • Keyboard --> On Left arrow pressed

      • Add action

        • Player --> Set Mirrored

Add event

    • Keyboard --> On Right arrow pressed

      • Add action

        • Player --> Set Not Mirrored

Add event

    • Keyboard --> On key press --> เลือกคีย์ที่กดแล้วยิง ในตัวอย่างเลือก space bar

    • Add condition

      • System --> Every 0.3 Secounds

      • Add action

        • Player --> Spawn another object (เลือก bullet)

        • Bullet --> Set angle of motion to 0 degree (0 คือ ไปขวา / 180 คือ ไปซ้าย)

        • Bullet --> Stard fade (คือ ยิงกระสุนออกไป 1 วินาที กระสุนจะ fade หายไปเอง)

    • Add sub-event

      • player --> is mirrored (ถ้า player หันหน้าสะท้อนกลับ..ให้กระสุนยิงไปทิศ 180 คือ ด้านซ้ายนั่นเอง)

        • Add action

          • Bullet --> Set angle of motion to 180 degree (0 คือ ไปขวา / 180 คือ ไปซ้าย)


* Set angle of motion to 0 --> ไปขวา *

* Set angle of motion to 180 --> ไปซ้าย *