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