Thaigraph

 

   

ค้นหา
Thaigraph หน้าฟอรั่ม Ren'Py [renpy] วิธีทำหน้าหน้า Title ก่อน ...
ดู: 1840|ตอบ: 1
go

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

Rank: 7Rank: 7Rank: 7

โพสต์เมื่อ 12-10-2014 15:42 |แสดงโพสต์ทั้งหมด
[renpy] วิธีทำหน้าหน้า Title ก่อนเข้าสู่หน้า Main Menu หลัก
สำหรับบทความนี้ ยังไงก็หนีไม่พ้นเจ้า Label Splashscreen นะคะ เพราะความพิเศษของ Label Splashscreen คือ มันถูกสร้างขึ้นมาเพื่อให้ทำงานก่อนหน้า Main menu ทุกครั้งที่เข้าเกมส์ จึงเอื้ออำนวยให้คำสั่งอะไรก็ตามที่เราต้องการให้ทำงานก่อนที่จะไปถึงหน้าเมนูหลัก สามารถนำมายัดๆ โฮ๊ะๆ เข้าไปในเจ้า Label Splashscreen ตัวนี้ได้ทั้งสิ้น หุหุ

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

1. - [renpy] วิธีใส่ Logo ก่อนเข้าหน้า main menu ( Label Splashscreen)
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




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




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

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




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

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



จะก๊อปโค๊ดทั้งหมดไปวาง แล้วค่อยไล่แก้ชื่อไฟล์ทีหลังก็ได้ค่ะ กันเผื่อพิมพ์อะไรตกหล่น จะได้ไม่เกิด 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. config.main_menu_music = "happy_alley.ogg"
คัดลอกไปที่คลิปบอร์ด
หากต้องการจะปิดดนตรีบรรเลงที่เกิดขึ้นจากคำสั่งข้างบน ก็ให้นำโค๊ดนี้ไปใส่ไว้ที่ไฟล์ script.rpy ใน label start: เพื่อปิดดนตรีบรรเลง


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

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



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


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



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



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





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



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



สงสัยตรงไหนถามได้นะคะ (บางทีอาจตอบช้าหน่อย แต่จะเข้ามาตอบให้ค่ะ)

บทความโดย NOOKFUFU2
(ขอสงวนสิทธิ์ให้เผยแพร่เฉพาะในเว็บไทยกราฟเท่านั้น!!!)


ไฟล์แนบ: คุณจำเป็นต้องเข้าสู่ระบบก่อนจึงจะสามารถดูและดาวน์โหลดไฟล์แนบได้ หากยังไม่มีแอคเคานต์หรือยังไม่ได้เป็นสมาชิก กรุณาสมัครสมาชิก
บางบทความคุณจำเป็นต้องสมัครสมาชิกแบบ VIP และ SUPERVIP ถึงจะเข้าอ่านบทความได้

Rank: 5Rank: 5

โพสต์เมื่อ 14-11-2014 19:09 |แสดงโพสต์ทั้งหมด
ปักธง!!
คุณต้องเข้าสู่ระบบก่อนจึงจะสามารถตอบกลับ เข้าสู่ระบบ | สมัครสมาชิก


Thaigraph

GMT+7, 16-9-2019 09:31 , Processed in 0.085058 second(s), 20 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc. Thai Language by DiscuzThai! Team.

Top 10 Best Sellers in Clothing for 2017 Top 10 Best Sellers in Clothing Best Sellers in Clothing
Top 10 Best Sellers in Books reviewer 2017 Top 10 Best Sellers in Books Best Sellers in Books