หน่วยที่ 8 : สุ่ม object (position)
หน่วยที่ 8 : สุ่ม object (position)
เพื่อจะได้หาตำแหน่งสุ่ม object ออกมาได้ค่ะ หรือหาทิศทางที่จะให้ bullet วิ่งไป โดยจะมีแกน X และแกน Y
เนื้อหา
จุด X=0,Y=0 จะเริ่มที่มุมบนซ้ายของ layout
ทิศทางของ object
เลยจากจุด 0,0 ขึ้นไป ทิศทางเป็น 90
เลยจากจุด 0,0 ลงมา ทิศทางเป็น -90
เลยจากจุด 0,0 ไปขวา ทิศทางเป็น 0
เลยจากจุด 0,0 ไปซ้าย ทิศทางเป็น -180
เช่น เอาไว้กำหนดทิศทางของ bullet (Set angle of motion)
การสุ่ม object ให้ปรากฏในพื้นที่ๆ ต้องการ
เช่น ภายในกรอบสีเขียว (ดังภาพ)
แกน X ระหว่าง 100-780
แกน Y ระหว่าง 100-350 เป็นต้น
ดูกากบาทสีแดง
ถ้าเลยแกน Y ขึ้นไปข้างบน จะเป็นค่าลบ เช่น -20,-50 เป็นต้น
สุ่ม object แบบที่ 1
การสุ่ม (random) monster แบบที่ 1 เป็นการสุ่มแบบเส้นตรง เคลื่อนที่จาก ขวา-->ซ้าย สุ่มให้ปรากฏออกมาในความเร็วต่างๆ กัน
จัดการ Layout
กำหนด Behaviors ของ Monster
เลือกแบบ Bullet
Set angle --> No
จัดการ Event sheet
Add group --> ตั้งชื่อ Random-1
การสร้าง group เพื่อทำให้เราเก็บงานเป็นระเบียบ กลับมาแก้ไขได้ง่าย
Add Event
System --> Every X seconds --> ใส่ตัวเลข (ทุกๆ กี่วินาที) *** เปลี่ยนค่าได้ตามสมควร ***
ในตัวอย่างใส่เลข 4 เพราะจะให้ปรากฏทุกๆ 4 วินาที
* อย่าใส่ค่าตามตัวอย่าง..ควรทดลองเองแล้วเลือกค่าที่เหมาะสมกับเกมของเรา *
Add action
System --> Create object (ให้ระบบสร้าง object)
เลือก monster (ให้สร้าง object ชื่อ monster)
Layer 1 (สร้างที่เลเยอร์ 1)
ใส่ตำแหน่งแกน X และ Y ตามที่ผู้ออกแบบวาง monster ไว้
ควรวางไว้นอกจอ ขวามือ monster จะวิ่งจาก ขวา--> ซ้าย
ค่า X และ Y *** เปลี่ยนค่าได้ตามตำแหน่งของ monster ***
Add action
monster --> Set bullet speed (ความเร็ว)
choose(10,30,60) คือ ให้สุ่มเลือกความเร็วของ monster เป็น 10 หรือ 30 หรือ 60 *** เปลี่ยนค่าได้ตามสมควร ***
monster --> Set angle of motion (องศาของ monster)
180 degree
Event sheet
สุ่ม object แบบที่ 2
การสุ่ม object แบบที่ 2 หล่นลงมาจากฟ้า
Concept
item / bonus / monster หล่นลงมาจากฟ้า
สุ่มตำแหน่ง และความเร็วในการหล่น
monster สุ่มรูปแบบการแสดง คือ ในตัว monster มีหลายเฟรมนั่นเอง
จัดการ Layout
จัดเรียง layout ใหม่
เปลี่ยน background ใหม่
เลื่อน item / bonus / monster ขึ้นอยู่ด้านบน
solid ให้ลดค่า opacity ลงมาเหลือ 0
เพิ่ม Frame ให้ monster เวลาหล่นลงมาจะได้เปลี่ยนรูปแบบเป็นหลายๆ แบบ
ดับเบิ้ลคลิกที่ monster
ที่หน้าต่าง Animation frames คลิกขวา เลือก Add frame
เรียกภาพต่างๆ เข้ามาตามจำนวนภาพที่ต้องการให้ปรากฏ ในที่นี้ใช้ 5 เฟรม (5 ภาพ)
ปิดหน้าต่าง monster
* ให้ลบ behaviors ชื่อ bullet ของ monster ออกด้วย *
จัดการ Event sheet
สร้าง group ชื่อ Random-2
Add Event
System --> Every tick
Add action
System --> Wiat --> ใส่ 0.5 (รอ 0.5 วินาที)
monster --> Set Y
พิมพ์ข้อความ monster.Y+3 (Y คือ แนวตั้ง / +3 คือกำหนดความเร็วในการเคลื่อนที่)
item--> Set Y
พิมพ์ข้อความ item.Y+2 (Y คือ แนวตั้ง / +2 คือกำหนดความเร็วในการเคลื่อนที่)
bonus --> Set Y
พิมพ์ข้อความ bonus.Y+1 (Y คือ แนวตั้ง / +1 คือกำหนดความเร็วในการเคลื่อนที่)
Add Event
System --> Every X secounds --> 2 secound
Add action
System --> Create object --> เลือก
monster
Layer 1
X พิมพ์ random(200,700) หมายถึง สุ่มให้หล่นลงมาระหว่างตำแหน่งที่ 200-700 ในแกน X *** เปลี่ยนค่าได้ตามสมควร ***
Y พิมพ์ -40 หมายถึง สุ่มให้หล่นลงตำแหน่งที่ -40 ในแกน Y คือ บนสุด
Add action
monster --> Set frame --> random(5) (ให้สุ่ม 5 เฟรม เพราะเราแอดภาพ monster ไว้ 5 เฟรม)
Add Event
System --> Every X secounds --> 0.5 secound
Add action
System --> Create object --> เลือก
item
Layer 1
X พิมพ์ random(100,760) หมายถึง สุ่มให้หล่นลงมาระหว่างตำแหน่งที่ 100-760 ในแกน X *** เปลี่ยนค่าได้ตามสมควร ***
Y พิมพ์ -40 หมายถึง สุ่มให้หล่นลงตำแหน่งที่ -40 ในแกน Y คือ บนสุด
Add Event
System --> Every X secounds --> 10 secound
Add action
System --> Create object --> เลือก
bonus
Layer 1
X พิมพ์ random(200,600) หมายถึง สุ่มให้หล่นลงมาระหว่างตำแหน่งที่ 200-600 ในแกน X *** เปลี่ยนค่าได้ตามสมควร ***
Y พิมพ์ -40 หมายถึง สุ่มให้หล่นลงตำแหน่งที่ -40 ในแกน Y คือ บนสุด
Event sheet
สุ่ม object แบบที่ 3
สุ่ม object ให้ปรากฏบนพื้น
เกม : เลือกสิ่งที่เป็นประโยชน์ต่อสุขภาพปากและฟัน
Concept
object ถูกสุ่มออกมา 3 แบบ
ทุกๆ 1 วินาที สร้าง object ชื่อ item และ item2 ออกมา
สุ่มเล่นเฟรมภายใน item และ item2
ทุกๆ 3 วินาที สร้าง object ชื่อ bonus ออกมา
object ถูกสุ่มออกมาในเวลาต่างกัน ตำแหน่งต่างกัน
คลิกเลือก ผลไม้ (สิ่งที่เป็นประโยชน์ต่อสุขภาพปากและฟัน) +1 ที่ score ถูก
คลิกเลือก กล่องนม (bonus) +5
คลิกเลือก ลูกกวาด +1 ที่ score ผิด
เวลาหมด (30 วินาที) - game over
Layout
item ผลไม้
ดับเบิ้ลคลิกที่รูปผลไม้
Add frame เพิ่มตามภาพผลไม้ที่ต้องการ
Speed = 0
item 2 ลูกกวาด
ดับเบิ้ลคลิกที่รูปลูกกวาด
Add frame เพิ่มตามภาพลูกกวาดที่ต้องการ
Speed = 0
item (ผลไม้) / item2 (ลูกกวาด) / bonus (กล่องนม) -->
Behaviors --> Fade
Active at start --> Yes
Fade in time --> 0.5
Wait time --> 0
Fade out time --> 0
Destroy --> After fade out
Event sheet
System --> Every X secound --> 1 (ทุกๆ 1 วินาที)
Add action
System --> Create object --> item (ระบบสร้าง object)
on layer 1 at ( int(random(50,780)) , int(random(220,780)) ) (บน layer 1 ในตำแหน่งแกน X และ Y)
item --> Set frame to --> พิมพ์ choose(0,1,2,3,4,5) (ไอเทม-สุ่มเลือกเฟรมที่ 0-5 รวม 6 เฟรม มาแสดง)
item --> Fade: start fade (เฟดออกไป)
System --> Create object --> item2 (ระบบสร้าง object)
on layer 1 at ( int(random(35,810)) , int(random(220,420)) ) (บน layer 1 ในตำแหน่งแกน X และ Y)
item2 --> Set frame to --> พิมพ์ choose(0,1,2,3,4) (ไอเทม-สุ่มเลือกเฟรมที่ 0-4 รวม 5 เฟรม มาแสดง)
item2 --> Fade: start fade (เฟดออกไป)
System --> Every X secound --> 8 (ทุกๆ 8 วินาที)
Add action
System --> Create object --> bonus (ระบบสร้าง object)
on layer 1 at ( int(random(50,780)) , int(random(220,420)) ) (บน layer 1 ในตำแหน่งแกน X และ Y)
bonus --> Set frame to --> 0 (ไอเทม-เลือกเฟรมที่ 0 มาแสดง)
bonus --> Fade: start fade (เฟดออกไป)
การหาตำแหน่งแกน X และ Y
ลองนำ object วางไว้ในตำแหน่งต่างๆ
ดูค่าแกน X และ Y ที่ position (ในวงกลม)
ใส่เลขจำนวนเต็มก็พอ ทศนิยมไม่ต้องใส่ค่ะ