หน่วยที่ 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 --> ไปซ้าย *