บทความสอนกราฟิก

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 1898|ตอบกลับ: 0

[Renpy] 64. วิธีทำหน้าหน้า Title ก่อนเข้าสู่หน้า Main Menu หลัก

[คัดลอกลิงก์]

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

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

Imagemap_Title_MainMenu_03.jpg
[Renpy] 64. วิธีทำหน้า Title ก่อนเข้าสู่หน้า Main Menu หลัก
สำหรับบทความนี้ ยังไงก็หนีไม่พ้นเจ้า Label Splashscreen นะคะ เพราะความพิเศษของ Label Splashscreen คือ มันถูกสร้างขึ้นมาเพื่อให้ทำงานก่อนหน้า Main menu ทุกครั้งที่เข้าเกมส์ จึงเอื้ออำนวยให้คำสั่งอะไรก็ตามที่เราต้องการให้ทำงานก่อนที่จะไปถึงหน้าเมนูหลัก สามารถนำมายัดๆ โฮ๊ะๆ เข้าไปในเจ้า Label Splashscreen ตัวนี้ได้ทั้งสิ้น หุหุ

เนื้อหาในบทความนี้จะเชื่อมโยงกับอีก 2 บทความนะค่ะ คือ

1. - [Renpy] 21. วิธีทำไตเติ้ลก่อนเข้าหน้า main menu ( LabelSplashscreen)
2. -
[renpy] วิธีที่ภาพ Animation หน้า Imagemap Main Menu และ Imagemap หน้าอื่นๆ
ขั้นตอนการทำงานคร่าวๆ ของคำสั่งในบทความนี้นะคะ คือ
1. เมื่อ User คลิกเข้าไอคอนเกมส์ Label Splashscreen จะถูกนำมาประมวลผลก่อน หน้า VDO Logo ของเราจะถูกแสดงขึ้นจนจบ
2. แล้วหน้า "คลิกเพื่อเล่นเกมส์" จะแสดงต่อมา พร้อมกับเปิดดนตรีบรรเลง รอให้ User คลิกที่หน้าจอ 1 ครั้ง
3. เมื่อ User คลิกที่หน้าจอ เพื่อเล่นเกมส์แล้ว ดนตรีบรรเลงข้อ 2 จะถูกปิดลง และระบบจะเปิดหน้า Main Menu ขึ้นมา พร้อมกับเปิดดนตรีบรรเลงใหม่อีกเพลงขึ้นมาแทน
4. หลังจาก User คลิกปุ่ม "Start" ที่หน้าเมนูหลัก ดนตรีบรรเลง ข้อ 3 จะถูกปิดลง พร้อมกับตัวเกมส์จะเริ่มเข้าสู่เนื้อหาหลักภายในเกมส์


ภาพเพิ่มเติมที่ต้องเตรียมสำหรบัในบทความนี้ ก็คือภาพที่จะต้องเอามาทำเป็นหน้า Imagemap เพื่อให้คลิกก่อนที่จะเข้าสู่หน้าเมนูหลัก

1. หน้าแบบปกติ passscreen.jpg


Imagemap_Title_MainMenu_06.jpg

2. ภาพที่จะเปลี่ยนไปเมื่อเอาเม้าส์มาวางทับ passscreen2.jpg

Imagemap_Title_MainMenu_07.jpg


***สำหรับตัว VDO Logo และภาพ Imagemap หน้า Main Menu ข้าพเจ้าทำไว้ในในทั้ง 2 บทความ(ลิงค์ข้างบน)

==============================================

โค๊ดในบทความนี้จะใช้ได้ผลกับเฉพาะโปรแกรม Renpy  เวอร์ชั่น 6.14 นะคะ ถ้าชัวร์ๆเลยแนะนำให้ใช้ 6.16 จะดีกว่า ใช้โค๊ดคำสั่งใหม่ๆ ได้อย่างมีประสิทธิภาพมากขึ้น (ส่วนเวอร์ชั่น 6.18 มันมีลิขสิทธิ์ค่ะ เห็นว่าทีมพัฒนาเขาจะทำขายกันแล้ว เวอร์ชั่น 6.18 พัฒนามาให้สนับสนุนระบบเสียงมากขึ้นเพื่อให้คนตาบอดสามารถเล่นเกมส์ได้)

(ภาพอธิบายโครงสร้างการทำงานคร่าวๆ ของ Label splashscreen ก่อนที่จะวิ่งไปที่หน้า Main Menu หลัก)

Imagemap_Title_MainMenu_01.jpg

จะก๊อปโค๊ดทั้งหมดไปวาง แล้วค่อยไล่แก้ชื่อไฟล์ทีหลังก็ได้ค่ะ กันเผื่อพิมพ์อะไรตกหล่น จะได้ไม่เกิด Error ทีหลัง

(โค๊ดตัวเต็มที่เชื่องโยงกันใน Label Splashscreen  และ Label ตัวอื่นๆ ภายในไฟล์ script.rpy)

  1. ################# หน้า splashscreen ไว้แสดง Logo และ Intro  #######################

  2. label splashscreen:

  3.     $ renpy.movie_cutscene('Intro_logo.mpg')
  4.     play music "Pandora Hearts - Lacie.mp3"  # [เปิด] ดนตรีเริ่มบรรเลง
  5.    
  6.     call screen presstitle
  7.    
  8.     $ result = _return
  9.    
  10.     if result == "press":
  11.         stop music
  12.         return


  13. ######### หน้าแสดงก่อนเข้าเกมส์  ( คลิกที่หน้าจอเพื่อเข้าสู่เกมส์ )  ##############

  14. screen presstitle:
  15.     imagemap:
  16.         ground 'passscreen.jpg'  ##ภาพแบบปกติ
  17.         hover 'passscreen2.jpg' ##ภาพที่จะเปลี่ยนแปลงเมื่อเลื่อนเม้าส์มาวางทับ
  18.         
  19.         hotspot (155, 204, 513, 166) clicked Return("press")  #สั่งให้ส่งค่าคำตอบกลับไปที่ label example
  20.         
  21. ##################################################################

  22. screen main_menu:

  23.     tag menu
  24.     imagemap:
  25.         ground 'ground.jpg'  ##ภาพแบบปกติ
  26.         hover 'hover.png' ##ภาพที่จะเปลี่ยนแปลงเมื่อเลื่อนเม้าส์มาวางทับ
  27.         
  28.         hotspot (105, 300, 133, 132) action Start() hover_sound "click.wav"
  29.         hotspot (214, 438, 132, 133) action ShowMenu('load') hover_sound "click.wav"
  30.         hotspot (434, 453, 132, 132) action ShowMenu('preferences') hover_sound "click.wav"
  31.         hotspot (577, 321, 132, 128) action Quit(confirm=False) hover_sound "click.wav"

  32.     add "butterfly" #แทรกเอฟเฟคผีเสื้อกระพือปีกที่หน้าเมนูหลัก

  33. ################ ประกาศตัวแปร ภาพ/ เพลง/ ชื่อตัวละคร ####################

  34. define e = Character('Eileen', color="#c8ffc8")

  35. #######################      เริ่มเกมส์     ###############################

  36. label start:
  37.     stop music  # [ปิด] ดนตรีบรรเลง

  38.     e "You've created a new Ren'Py game."

  39.     e "Once you add a story, pictures, and music, you can release it to the world!"

  40.     return
  41.    
  42. ####################################################################
คัดลอกไปที่คลิปบอร์ด
================================
คำสั่งให้เล่นดนตรีบรรเลงที่หน้า Main Menu (ทุกครั้งที่กลับมาที่หน้าเมนูหลัก ดนตรีบรรเลงจะเล่นอัตโนมัติ) ใส่ไว้ที่ไฟล์ options.rpy


  1.     stop music  # [ปิด] ดนตรีบรรเลง
คัดลอกไปที่คลิปบอร์ด

แถมท้ายให้กับ คำสั่งที่จะทำให้มีเสียงคลิก เวลาคลิกปุ่มต่างๆ ในเกมส์  (มันจะทำงานกับเฉพาะปุ่มที่เป็นชนิด Imagemap เท่านั้น) ให้นำไปใส่ไว้ที่ไฟล์ options.rpy ค่ะ (ไฟล์เสียงคลิก เราจะต้องเตรียมมาไว้เองด้วย)

  1.     style.imagemap_button.hover_sound = "click.wav"
  2.     style.imagemap_button.activate_sound = "click.wav"
คัดลอกไปที่คลิปบอร์ด
ตัวอย่างการใส่คำสั่งที่ไฟล์ option.rpy

Imagemap_Title_MainMenu_02.jpg

================================

undefined
เอาล่ะ มาลองดูผลลัพธ์การทำงานของโค๊ดกลุ่มคำสั่งกันเลยดีกว่า



- เปิดเกมส์ปุ๊บก็โชว์หน้า VDO Logo ก่อนเป็นอันดับแรก

Imagemap_Title_MainMenu_03.jpg

- แล้วก็แสดงหน้ารอการ "คลิกเพื่อเล่นเกมส์"  พร้อมกับเปิดดนตรีบรรเลงเพราะๆ เล่นวนให้ฟัง



Imagemap_Title_MainMenu_04.jpg

- เมื่อผู้เล่นคลิกที่ปุ่มกลางหน้า 1 ครั้ง เพลงบรรเลงก่อนหน้าจะถูกปิดลง พร้อมกับเล่นเพลงใหม่ซึ่งเป็นเพลงประจำของหน้า Main Menu และหน้า Main Menu ก็จะถูกเปิดขึ้น

Imagemap_Title_MainMenu_05.jpg

- หลังผู้เล่นคลิกที่ปุ่ม "Start" ที่หน้า Main Menu แล้ว ระบบก็จะสิ่งไปที่ Label start: เพื่อเข้าสู่เนื้อหา พร้อมกับดนตรีบรรเลงของหน้า Main Menu ถูกปิดลง

******************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|GraphicFUFU

GMT+7, 2024-3-29 22:45 , Processed in 0.168754 second(s), 21 queries .

Powered by Discuz! X3.4 R20180101, Rev.59

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้