nooknazha โพสต์ 2019-11-30 20:13:13

[Renpy]63. วิธีแทรกหน้า Bonus ที่ Main Menu แบบ Classic

แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2019-11-30 20:19


63. วิธีแทรกหน้า Bonus ที่ Main Menu แบบ Classic

พูดง่ายๆก็คือ เป็นการเพิ่มลูกเล่นพิเศษให้กับผู้เล่น โดยในการเล่นครั้งแรกผู้เล่นจะเห็นหน้าเกมส์เป็นแบบปกติค่ะ แต่เมื่อผู้เล่นเล่นจบจน หรือเล่นจนสามารถเคลียร์เกมส์ได้แล้ว และกลับมาที่หน้าเมนูอีกครั้ง หน้าหลักของเกมส์จะมีเมนูพิเศษแสดงให้เห็น

หน้า Bonus มีไว้ทำอะไร?
แล้วแต่เราจะกำหนดค่ะ เช่น
1. เป็นหน้ารวมภาพ CG แกลอลรี่ลับ
2. เป็นหน้ารวมภาพฉากประทับใจที่ผู้เล่นทำถูกต้องตามเงื่อนไข
3. ข้อมูลลับของตัวละครในเกมส์ เช่น วันเดือนปีเกิด ส่วนสูง อาหารหรือสิ่งของที่ชอบ
4. ฟังเสียงพากษ์ตัวละคร
5. ฟังเสียงเพลงประกอบเกมส์
6. ดูภาพมูวี่เกมส์(อนิเมชั่น)
7. บทสนทนาพิเศษระหว่างตัวละคร ที่ไม่มีอยู่ในเนื้อเรื่องหลัก
8. ฯลฯ

ขั้นตอนการทำงาน คือ ตอนแรกข้าพเจ้าจะกำหนดให้หน้า Bonus ถูกซ่อนไว้ก่อน ซึ่งผู้เล่นจะต้องเล่นเกมส์จนจบ จากนั้นเมื่อกลับไปที่หน้า main menu อีกครั้ง หน้า Bonus จึงจะทำการแสดงค่ะ

ภาพด้านล่างคือหน้าจอเกมส์ปกติ ที่เรายังไม่ได้ทำการแก้ไขอะไรนะค่ะ โดยปกติมันก็จะไม่มีหน้า Bonus มาให้ เราต้องสร้างขึ้นมาเองโดยทำตามขั้นตอนต่อไปค่ะ
ขั้นตอนที่ 1
- ให้เปิดไฟล์ Screens.rpy ขึ้นมา แล้วให้เลื่อนลูกลิ้งเม้าส์ หา... ส่วนที่เป็นโค๊ดคำสั่งหน้า Main menu



- ให้ทำการเลือกโค๊ดทั้งหมดที่ครอบแถบสีให้ (ตามภาพด้านบน) และให้ใส่โค๊ดใหม่(ด้านล่าง) ลงไปวางแทนที่ค่ะ

Code:

      if not persistent.extra_unlocked:
            textbutton _("Start Game") action Start()
            textbutton _("Load Game") action ShowMenu("load")
            textbutton _("Preferences") action ShowMenu("preferences")
            textbutton _("Help") action Help()
            textbutton _("Quit") action Quit(confirm=False)
      else:
            textbutton _("Start Game") action Start()
            textbutton _("Load Game") action ShowMenu("load")
            textbutton _("Bonus") action ShowMenu("bonus")
            textbutton _("Preferences") action ShowMenu("preferences")
            textbutton _("Help") action Help()
            textbutton _("Quit") action Quit(confirm=False)

ตัวอย่างการจากโค๊ดใหม่แทนที่โค๊ดเดิม...


ขั้นตอนที่ 2
- ให้เปิดไฟล์ Script.rpy ขึ้นมา
- จากนั้นให้นำโค๊ดด้านล่าง ไปใส่ไว้ที่บรรทุดล่างสุดของเกมส์

$ persistent.extra_unlocked = True

ตัวอย่างการวางโค๊ด...


- บันทึกไฟล์ทุกตัว แล้วก็ทำการรันเกมส์ตามปกติ
- เมื่อเข้าครั้งแรก หน้า Bonus จะยังไม่แสดง ผู้เล่นจะต้องกดปุ่ม Start เพื่อเล่นเกมส์ให้จบก่อน



- หลังจากเล่นเกมส์จบแล้ว เกมส์จะวิ่งกลับมาที่หน้าเมนูอีกครั้งอัตโนมัติ แล้วผู้เล่นก็จะเห็นหน้า Bonus แสดงอยู่ดังภาพข้างล่างค่ะ



- จะลองคลิกที่ปุ่ม Bonus เล่นดูก็ได้ แต่โปรแกรมจะเตือน Error แบบภาพด้านล่าง เพราะว่า เรายังไม่ได้สร้าง Label bonus ไว้ค่ะ


******************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
หน้า: [1]
ดูในรูปแบบกติ: [Renpy]63. วิธีแทรกหน้า Bonus ที่ Main Menu แบบ Classic