Construct 2 : การสร้างเกม Fruit Slot Machine

สวัสดีครับ ในบทความนี้เราจะมาเรียนรู้พื้นฐานการสร้างเกมในแนว Slot Machine กันนะครับ โดยใช้ความเร็วของภาพเคลื่อนไหว (Animation Speed) ในเวลาที่กำหนด เป็นตัวควบคุมการสุ่มภาพ ในแต่ละช่อง (slot) โดยมีเงื่อนไข เมื่อช่องที่ 3 (slot3) หยุดนิ่ง ดังนี้

  • ผู้เล่นจะมีเงินลงทุน 200 หน่วย
  • ทุกครั้งที่ทำการหมุน slot จะถูกหักเคดิต ครั้งละ 10 หน่วย
  • ถ้าหมายเลขเฟรมของ slot1 เท่ากับ หมายเลขเฟรมของ slot2 หรือ slot3 จะเพิ่ม Coins ให้ 20 หน่วย ยกเว้นเฟรม 8 คือ [| 7 | x | 7 |] และ  [| 7 | 7 | x |]
  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  เท่ากับ จะเพิ่ม Coins ให้ 30 หน่วย ยกเว้นเฟรม 8 คือ  [| 7 | 7 | 7 |]
  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  เป็นเฟรมที่ 8 คือ  [| 7 | 7 | 7 |] จะได้รางวัล jackpot เป็นเงิน 10000 หน่วย
  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  ไม่ตรงกันทั้งสาม slot จะไม่ได้รับเงินรางวัล
  • ถ้าเงินลงทุนหมด  จะสิ้นสุดการเล่น

ขั้นตอนการสร้างเกม Slot Machine

1. เปิดโปรเจ็คใหม่ ตั้งค่าขนาดของวินโดว์และเลย์เอาต์ ให้มีขนาด กว้าง 845 พิกเซล และสูง 480 พิกเซล

2. เพิ่มเลเยอร์ จำนวน 4 ชั้น ดังรูป

3. ที่เลเยอร์ bg เพิ่ม Sprite ชื่อ bg ดังรูป จากนั้นทำการล็อคเลเยอร์

4. ที่เลเยอร์ bg เพิ่ม Sprite ชื่อ frame จัดวางตำแหนงของวัตถุดังรูป จากนั้นทำการล็อคเลเยอร์

5. ที่เลเยอร์ item เพิ่ม Sprite ชื่อ slot1

  • นำเข้ารูปภาพจำนวน 9 ภาพ จัดเรียงเฟรมดังรูป หมายเลข (1)
  • ตั้งค่า Animation หมายเลข (2) (3)
    • speed เป็น 0
    • loop เป็น Yes

  • เพิ่ม Behaviors Flash ให้กับวัตถุ
  • ทำการ Clone object เพิ่ม 2 ชิ้น เป็น slot2 และ slot3

  • จัดวางและตั้งค่า initial frame ของวัตถุ เป็น 0 , 4 และ 8 ตามลำดับ

6. ที่เลเยอร์ item เพิ่ม Sprite ชื่อ spinBtn

  • นำเข้ารูปภาพจำนวน 2 ภาพ จัดเรียงเฟรมดังรูป หมายเลข (1)
  • ตั้งค่า Animation หมายเลข (2) (3)
    • speed เป็น 0
    • loop เป็น No

7. ที่เลเยอร์ HUD เพิ่มเพิ่ม Text จำนวน 2 ชิ้น ชื่อ txtCedit และ txtCoin ตั้งค่าขนาดตัวอักษรและสีให้เหมาะสมกับกรอบตัวอักษร

  • เพิ่ม Behaviors Flash ให้กับ Text ชื่อ txtCoin

8. เพิ่ม Object Paticles ไว้ด้านนอกเลย์เอาต์

  • ตั้งค่าคุณสมบัติของ Particle ดังนี้

9. เพิ่ม Object Touch ลงบนเลย์เอาต์

10. ภาพรวมการจัดวางวัตถุทั้งหมดบนหน้าเลเอาต์

11. เปิดแถบ Event Sheet ขึ้นมา

  • เพิ่มตัวแปร Global Variable ประเภท Number ดังนี้
    • cedit ตั้งค่าเริ่มต้นเป็น 200 (เป็นเงินลงทุนตั้งได้เองตามต้องการ)
    • total ตั้งค่าเริ่มต้นเป็น 0  (เป็นเงินรายได้รวม)
    • coins ตั้งค่าเริ่มต้นเป็น 0  (เป็นเงินรายในการหมุนแต่ละครั้ง)
    • speed ตั้งค่าเริ่มต้นเป็น 0  (เป็นความเร็วของการหมุน slot)

Event Sheet 1

  • ควบคุมการหมุนและหยุดของ slot โดยความเร็วของการหมุนได้จากการสุ่มเลขจาก 100 ถึง 200
  • ทุกครั้งที่หมุน slot จะถูกหักเงินจาก cedit  ออก 10 หน่วย

Event Sheet 2

  • เมื่อ slot3 หยุดนิ่ง จำทำการตรวจสอบเงื่อนไขใน  Event Sheet 3 ถึง Event Sheet 8

Event Sheet 3

  • ถ้าหมายเลขเฟรมของ slot1 เท่ากับ หมายเลขเฟรมของ slot2  จะเพิ่ม Coins ให้ 20 หน่วย

Event Sheet 4

  • ถ้าหมายเลขเฟรมของ slot1 เท่ากับ หมายเลขเฟรมของ slot3  จะเพิ่ม Coins ให้ 20 หน่วย

Event Sheet 5

  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  เท่ากันทั้งสาม slot จะเพิ่ม Coins ให้ 30 หน่วย (ยกเว้นเฟรมหมายเลข 8)

Event Sheet 6

  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  อยู่ที่หมายเลข 8 ทั้งสาม slot จะทำให้ได้รางวัล jackpot เป็นเงิน 10000 หน่วย

Event Sheet 7

  • ถ้าหมายเลขเฟรมของ slot1 slot2 และ slot3  ไม่ตรงกันทั้งสาม slot จะไม่ได้รับเงินรางวัล

Event Sheet 8

  • ถ้าเงินลงทุนหมด (cedit) จะสิ้นสุดการเล่น ไปยังหน้า Game Over

Event Sheet 9

  • เมื่อกดปุ่ม Replay จะกลับไปเริ่มเล่นเกมใหม่

12. Run layout ทำการทดสอบเกม

บทความนี้หวังว่าคงเป็นประโยชน์สำหรับผู้สนใจนำไปประยุกต์ต่อยอดกันนะครับ

ขอให้มีความสุขในการสร้างสรรงานกันนะครับ

แล้วพบกันใหม่ในบทความหน้า

สวัสดีครับ