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

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

[Renpy] 25. วิธีทำ CG Gallery แบบ Imagemap

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

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
979
gallery_imagemap_01.png
[Renpy] 25. วิธีทำ CG Gallery แบบ Imagemap

บทความนี้จะต่อเนื่องมาจากบทความสอนวิธีการแทรกหน้า Bonus ไว้ที่หน้าเมนูหลัก  2 บทความด้านล่างนะค่ะ


ขั้นตอนที่ 1
ในที่นี้ข้าพเจ้าจะทำให้เมื่อคลิกที่เมนู"Bonus" โปรแกรมวิ่งไปที่หน้าGallery ชื่อ CG_Gallery_CAT ก่อนเป็นหน้าแรก(หรีอคุณจะเอาหน้าไหนขึ้นก่อนก็ได้)

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



  1. textbutton _("Bonus") action ShowMenu("CG_Gallery_CAT")
คัดลอกไปที่คลิปบอร์ด
.
2. [renpy] วิธี Imagemap หน้า Bonus ไว้ที่ Main Menu

ในกรณีที่กำหนด 'CG_Gallery_CAT' เป็น labelจะใช้คำสั่งนี้ในการเรียกหา label ค่ะ

  1. <font size="4" face="Tahoma">hotspot (314, 283, 251, 72) action Start('CG_Gallery_CAT')</font>
คัดลอกไปที่คลิปบอร์ด

แต่จากบทความที่ผ่านมาข้าพเจ้าจะแนะนำให้สร้างเป็นหน้าscreen ขึ้นมาใหม่เลยก็จะใช้คำสั่งนี้แทนค่ะ

  1. <font size="4" face="Tahoma">hotspot (314, 283, 251, 72)action ShowMenu('CG_Gallery_CAT')</font>
คัดลอกไปที่คลิปบอร์ด
ขั้นตอนที่ 2
- ปัจจัยหลักสำคัญเลยสำหรับการทำGallery นั่นก็คือภาพฉากสำคัญต่างๆ ที่จำเป็นต้องมีในเกมส์นอกจากนี้ก็รวมถึงหน้าเมนูที่เราจะต้องออกแบบเองด้วย

- ให้เตรียมภาพ 2 ชุดด้วยกันค่ะ คือ

1. เตรียมภาพหน้าเมนู CG Gallery ของแต่ละตัวละคร***ย้ำ!!! ของแต่ละตัวละคร ถ้ามีตัวละคร 4 ตัวเราก็ต้องออกแบบหน้าเมนูของตัวละคร 4 กลุ่มด้วยกัน

ยกตัวอย่างเช่น มีตัวละครทั้งหมด 4 ตัวภาพหน้าเมนู Gallery ที่คุณจะต้องออกแบบจะต้องเตรียมไว้ทั้งสิ้น 4 ชุดและภายในภาพแต่ละชุดนั้นจะประกอบไปด้วยภาพเมนูแบบต่างที่ให้มีผลและไม่มีผลกับเม้าส์ และภาพที่มีผลต่อเงื่อนไข ชุดละ 4 -5 ภาพ ด้วยกัน

สรุป!!! ถ้ามีตัวละคร 4 ตัวในเกมส์คุณจะต้องเตรียมภาพเมนูหน้า Gallery ทั้งสิ้น  16ภาพด้วยกัน!!! แต่ใจเย็นค่ะในความเป็นจริงเราคงไม่ต้องใช้มากขนาดนั้น เพราะบางภาพเราก็ใช้ซ้ำกันได้เช่นพวกแถบเมนูปุ่มต่างๆ  ภาพที่ใช้ร่วมกันไม่ได้ก็มีแค่หน้าสกีนของตัวละครตัวนั้นๆแค่นั้น

ในบทความนี้เข้าพเจ้าจะออกแบบไว้เฉพาะแค่หน้า CG_Gallery_CATเท่านั้นนะค่ะ หน้า CG_Gallery_DOG , CG_Gallery_BUNNY ,CG_Gallery_XXX ไม่ทำ (ขี้เกียจ -*- )

gallery_imagemap_06.png

ตัวอย่างภาพที่ต้องเตรียมในแต่ละชุด....

1. ภาพที่ไม่สามารถคลิกเข้าไปดูได้ หากเงื่อนไขไม่ถูกต้อง(ยังไม่ถูกปลดล๊อค)
gallery_imagemap_02.png

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

3. ภาพที่ถูกปลดล๊อคแล้ว สามารถคลิกเข้าไปดูได้

gallery_imagemap_04.png

4. ภาพเมนูที่ กำลังถูกคลิกเลือกอยู่

gallery_imagemap_05.png

ขั้นตอนที่ 3
- ภาพชุดที่ 2คือ เราจะต้องเตรียมภาพ CG ไว้ให้มากที่สุด จะ20 หรือ 30 ถ้าขยันวาดได้ก็ขนมาเยอะๆหุหุ (แต่ข้าพเจ้าขี้เกียจวาด เอาภาพแมวตามเน็ตมาใส่แทนก่อนก็แล้วกัน ^^")ขนาดภาพ 800*600 pt หรือหรือเท่ากับขนาดหน้าจอเกมส์ที่เราเซ็ตไว้ เช่น 1024 หรือมากกว่านั้นก็ได้
gallery_imagemap_07.png
ขั้นตอนที่ 4
1. เปิดโปรแกรม JEditขึ้นมา(เปิดผ่านโปรแกรม renpy ก็ได้)และไปที่คำสั่ง File > New.... (หรือกดปุ่ม Ctrl+N)
gallery_imagemap_08.png
2. โปรแกรมจะสร้างหน้า New โล่งๆมาให้เรา
3. ให้นำก๊อปปี้โค๊ดด้านล่างนี้ไปใส่ค่ะ

  1. <font size="4" face="Tahoma">
  2. ##########################################
  3. #--รวมหน้า Screen ภาพของ...แมว...แต่ละภาพ (มีทั้งหมด 4 ภาพ)--
  4. ##########################################
  5. label cat1: #<--ภาพแมว ภาพที่ 1
  6.     scene cat1 with dissolve
  7.     $ renpy.pause ()  #<---- ถ้าคลิกเม้าส์ เปลี่ยนถึงจะเปลี่ยน หากไม่ใส่คำสั่งนี้ ภาพจะเฟสต่อเนื่องจนครบ
  8.    
  9.     scene cat5 with dissolve
  10.     $ renpy.pause ()
  11.    
  12.     scene cat6 with dissolve
  13.     $ renpy.pause ()
  14.     #$ renpy.pause (5.0) <----แบบกำหนดระยะเวลาในการเฟสภาพอัตโนมัติ
  15.     p "น่ารักทุกภาพเลยเน๊าะ >0<...."
  16.     hide cat1
  17.     hide cat5
  18.     hide cat6
  19.     $ renpy.game_menu("CG_Gallery_CAT") #<สั่งให้กลับไปที่หน้า Gallery ของ กลุ่มภาพแมวอีกครั้ง
  20. return
  21.    
  22. screen cat2: #<--ภาพแมว ภาพที่ 2
  23.     button clicked Hide("cat2", transition=fade)#<แบบสั่งให้แสดงภาพ cat2 เมื่อคลิกอีกครั้งจะวิ่งไปที่ screen CG_Gallery_CAT
  24.     add "map/cat2.jpg"
  25.    
  26. screen cat3: #<--ภาพแมว ภาพที่ 3
  27.     button clicked   Hide("cat3", transition=fade)  
  28.     add "map/cat3.jpg"
  29.    
  30. screen cat4: #<--ภาพแมว ภาพที่ 4
  31.     button clicked  Hide("cat4", transition=fade)
  32.     add "map/cat4.jpg"

  33. ##########################################   
  34. #----รวมหน้า Screen ภาพของ...สุนัข...แต่ละภาพ (มีทั้งหมด 4 ภาพ)
  35. ##########################################

  36. screen dog1: #<--ภาพสุนัข ภาพที่ 1
  37.     button clicked  Hide("dog1", transition=fade)
  38.     add "map/dog1.jpg" #<---ใส่ชื่อหลอกไว้ จริงๆมันไม่มีภาพ (ยังไม่ได้ภาพหมาไว้)
  39.    
  40. screen dog2: #<--ภาพสุนัข ภาพที่ 2
  41.     button clicked  Hide("dog2", transition=fade)
  42.     add "map/dog2.jpg"
  43.    
  44. screen dog3: #<--ภาพสุนัข ภาพที่ 3
  45.     button clicked  Hide("dog3", transition=fade)
  46.     add "map/dog3.jpg"
  47.    
  48. screen dog4: #<--ภาพสุนัข ภาพที่ 4
  49.     button clicked  Hide("dog4", transition=fade)
  50.     add "map/dog4.jpg"

  51. ##########################################
  52. #---รวมหน้า Screen ภาพของ...กระต่าย...แต่ละภาพ (มีทั้งหมด 4 ภาพ)
  53. ##########################################

  54. screen bunny1: #<--ภาพกระต่าย ภาพที่ 1
  55.     button clicked  Hide("bunny1", transition=fade)
  56.     add "map/bunny1.jpg" #<---ใส่ชื่อหลอกไว้ จริงๆมันไม่มีภาพ (ยังไม่ได้ภาพหมาไว้)
  57.    
  58. screen bunny2: #<--ภาพกระต่าย ภาพที่ 2
  59.     button clicked  Hide("bunny2", transition=fade)
  60.     add "map/bunny2.jpg"
  61.    
  62. screen bunny3: #<--ภาพกระต่าย ภาพที่ 3
  63.     button clicked  Hide("bunny3", transition=fade)
  64.     add "map/bunny3.jpg"
  65.    
  66. screen bunny4: #<--ภาพกระต่าย ภาพที่ 4
  67.     button clicked  Hide("bunny4", transition=fade)
  68.     add "map/bunny4.jpg"

  69. ##########################################
  70. #----รวมหน้า Screen ภาพของ...???(ตัวละครลับ)...แต่ละภาพ (มีทั้งหมด 4 ภาพ)--
  71. ##########################################

  72. screen xxx1: #<--ภาพพิเศษ ภาพที่ 1
  73.     button clicked  Hide("xxx1", transition=fade)
  74.     add "map/xxx1.jpg" #<---ใส่ชื่อหลอกไว้ จริงๆมันไม่มีภาพ
  75.    
  76. screen xxx2: #<#<--ภาพพิเศษ ภาพที่  2
  77.     button clicked  Hide("xxx2", transition=fade)
  78.     add "map/xxx2.jpg"
  79.    
  80. screen xxx3: #<--ภาพพิเศษ ภาพที่  3
  81.     button clicked  Hide("xxx3", transition=fade)
  82.     add "map/xxx3.jpg"
  83.    
  84. screen xxx4: #<--ภาพพิเศษ ภาพที่  4
  85.     button clicked  Hide("xxx4", transition=fade)
  86.     add "map/xxx4.jpg"
  87.    
  88. ########################################
  89. #-------------Gallery รวมภาพของ...หน้า Gallery กลุ่มแมว...------------
  90. ########################################

  91. screen CG_Gallery_CAT:
  92.     tag menu
  93.     imagemap:
  94.         ground 'menu/menu_gallery_ground_cat.png'
  95.         idle 'menu/menu_gallery_idle_cat.png'
  96.         hover 'menu/menu_gallery_hover_cat.png'
  97.         selected_idle 'menu/menu_gallery_selected_idle_cat.png'
  98.         selected_hover 'menu/menu_gallery_hover_cat.png'

  99.         hotspot (607, 463, 193, 56) action Return() hover_sound "sound/click.wav"
  100.         
  101.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ cat dog และ bunny ถูกปลดล๊อคครบ ภาพกลุ่มพิเศษ ???  ก็ถึงจะถูกปลดล๊อค

  102.             if persistent.group_image_dog_sum:
  103.                 if persistent.group_image_bunny_sum:
  104.                     $ persistent.group_image_XXX_sum = True #<กลุ่มชุดรวมภาพ Gallery หน้าหลักของ XXX ถูกปลดล๊อค
  105.             
  106.         
  107.         if persistent.group_image_XXX_sum: #<กลุ่มภาพของ ??? จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_XXX_sum เป็น True
  108.             
  109.             hotspot (607, 395, 193, 56) action ShowMenu("CG_Gallery_XXX") hover_sound "sound/click.wav"
  110.         
  111.         if persistent.group_image_bunny_sum: #<กลุ่มภาพของ BUNNY จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_bunny_sum เป็น True
  112.             
  113.             hotspot (607, 325, 193, 56) action ShowMenu("CG_Gallery_BUNNY") hover_sound "sound/click.wav"
  114.         
  115.         if persistent.group_image_dog_sum: #<กลุ่มภาพของ DOG จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_dog_sum เป็น True
  116.             
  117.             hotspot (607, 256, 193, 56) action ShowMenu("CG_Gallery_DOG") hover_sound "sound/click.wav"
  118.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ CAT จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_cat_sum เป็น True
  119.             
  120.             hotspot (607, 184, 193, 56) action ShowMenu("CG_Gallery_CAT") hover_sound "sound/click.wav"
  121.             
  122.             
  123.             if persistent.group_image_cat_01:
  124.                 hotspot (75, 189, 208, 141) action Start(label ="cat1") #<เมื่อคลิกที่ภาพ cat1 สั่งให้วิ่งไปที่ label cat1
  125.             
  126.             if persistent.group_image_cat_02:
  127.                 hotspot (321, 189, 208, 141) action Show("cat2", transition=fade) #<เมื่อคลิกที่ภาพ cat2 สั่งให้วิ่งไปที่ screen cat2
  128.             
  129.             if persistent.group_image_cat_03:
  130.                 hotspot (75, 365, 208, 139) action Show("cat3", transition=fade)
  131.             
  132.             if persistent.group_image_cat_04:
  133.                 hotspot (321, 365, 211, 139) action Show("cat4", transition=fade)
  134.                

  135. ##########################################
  136. #-------------Gallery รวมภาพของ...หน้า Gallery กลุ่มสุนัข...-----------------
  137. ##########################################

  138. screen CG_Gallery_DOG:
  139.     tag menu
  140.     imagemap:
  141.         ground 'menu/menu_gallery_ground_cat.png'
  142.         idle 'menu/menu_gallery_idle_cat.png'
  143.         hover 'menu/menu_gallery_hover_cat.png'
  144.         selected_idle 'menu/menu_gallery_selected_idle_cat.png'
  145.         selected_hover 'menu/menu_gallery_hover_cat.png'

  146.         hotspot (607, 463, 193, 56) action Return() hover_sound "sound/click.wav"
  147.         
  148.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ cat dog และ bunny ถูกปลดล๊อคครบ ภาพกลุ่มพิเศษ ???  ก็ถึงจะถูกปลดล๊อค
  149.             if persistent.group_image_dog_sum:
  150.                 if persistent.group_image_bunny_sum:
  151.                     $ persistent.group_image_XXX_sum = True #<กลุ่มชุดรวมภาพ Gallery หน้าหลักของ XXX ถูกปลดล๊อค
  152.         
  153.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ CAT จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_cat_sum เป็น True
  154.             
  155.             hotspot (607, 184, 193, 56) action ShowMenu("CG_Gallery_CAT") hover_sound "sound/click.wav"
  156.         
  157.         if persistent.group_image_XXX_sum: #<กลุ่มภาพของ ??? จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_XXX_sum เป็น True
  158.             
  159.             hotspot (607, 395, 193, 56) action ShowMenu("CG_Gallery_XXX") hover_sound "sound/click.wav"
  160.         
  161.         if persistent.group_image_bunny_sum: #<กลุ่มภาพของ BUNNY จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_bunny_sum เป็น True
  162.             
  163.             hotspot (607, 325, 193, 56) action ShowMenu("CG_Gallery_BUNNY") hover_sound "sound/click.wav"
  164.         
  165.         if persistent.group_image_dog_sum: #<กลุ่มภาพของ DOG จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_dog_sum เป็น True
  166.             
  167.             hotspot (607, 256, 193, 56) action ShowMenu("CG_Gallery_DOG") hover_sound "sound/click.wav"
  168.             if persistent.group_image_dog_01:
  169.                 hotspot (75, 189, 208, 141) action Show("dog1", transition=fade)
  170.             
  171.             if persistent.group_image_dog_02:
  172.                 hotspot (321, 189, 208, 141) action Show("dog2", transition=fade)
  173.             
  174.             if persistent.group_image_dog_03:
  175.                 hotspot (75, 365, 208, 139) action Show("dog3", transition=fade)
  176.             
  177.             if persistent.group_image_dog_04:
  178.                 hotspot (321, 365, 211, 139) action Show("dog4", transition=fade)
  179.                
  180. ##########################################
  181. #----------------Gallery รวมภาพของ...หน้า Gallery กลุ่มกระต่าย...-----------
  182. ##########################################

  183. screen CG_Gallery_BUNNY:
  184.     tag menu
  185.     imagemap:
  186.         ground 'menu/menu_gallery_ground_cat.png'
  187.         idle 'menu/menu_gallery_idle_cat.png'
  188.         hover 'menu/menu_gallery_hover_cat.png'
  189.         selected_idle 'menu/menu_gallery_selected_idle_cat.png'
  190.         selected_hover 'menu/menu_gallery_hover_cat.png'

  191.         hotspot (607, 463, 193, 56) action Return() hover_sound "sound/click.wav"
  192.         
  193.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ cat dog และ bunny ถูกปลดล๊อคครบ ภาพกลุ่มพิเศษ ???  ก็ถึงจะถูกปลดล๊อค
  194.             if persistent.group_image_dog_sum:
  195.                 if persistent.group_image_bunny_sum:
  196.                     $ persistent.group_image_XXX_sum = True #<กลุ่มชุดรวมภาพ Gallery หน้าหลักของ XXX ถูกปลดล๊อค

  197.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ CAT จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_cat_sum เป็น True
  198.             
  199.             hotspot (607, 184, 193, 56) action ShowMenu("CG_Gallery_CAT") hover_sound "sound/click.wav"
  200.         
  201.         if persistent.group_image_XXX_sum: #<กลุ่มภาพของ ??? จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_XXX_sum เป็น True
  202.             
  203.             hotspot (607, 395, 193, 56) action ShowMenu("CG_Gallery_XXX") hover_sound "sound/click.wav"
  204.         
  205.         if persistent.group_image_bunny_sum: #<กลุ่มภาพของ BUNNY จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_bunny_sum เป็น True
  206.             
  207.             hotspot (607, 325, 193, 56) action ShowMenu("CG_Gallery_BUNNY") hover_sound "sound/click.wav"
  208.         
  209.         if persistent.group_image_dog_sum: #<กลุ่มภาพของ DOG จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_dog_sum เป็น True
  210.             
  211.             hotspot (607, 256, 193, 56) action ShowMenu("CG_Gallery_DOG") hover_sound "sound/click.wav"
  212.         
  213.             if persistent.group_image_bunny_01:
  214.                 hotspot (75, 189, 208, 141) action Show("bunny1", transition=fade)
  215.             
  216.             if persistent.group_image_bunny_02:
  217.                 hotspot (321, 189, 208, 141) action Show("bunny2", transition=fade)
  218.             
  219.             if persistent.group_image_bunny_03:
  220.                 hotspot (75, 365, 208, 139) action Show("bunny3", transition=fade)
  221.             
  222.             if persistent.group_image_bunny_04:
  223.                 hotspot (321, 365, 211, 139) action Show("bunny4", transition=fade)
  224.                
  225. ##########################################
  226. #-------------Gallery รวมภาพของ...หน้า Gallery กลุ่ม....???...--------------
  227. ##########################################

  228. screen CG_Gallery_XXX:
  229.     tag menu
  230.     imagemap:
  231.         ground 'menu/menu_gallery_ground_cat.png'
  232.         idle 'menu/menu_gallery_idle_cat.png'
  233.         hover 'menu/menu_gallery_hover_cat.png'
  234.         selected_idle 'menu/menu_gallery_selected_idle_cat.png'
  235.         selected_hover 'menu/menu_gallery_hover_cat.png'

  236.         hotspot (607, 463, 193, 56) action Return() hover_sound "sound/click.wav"
  237.         
  238.         
  239.         if persistent.group_image_cat_sum: #<กลุ่มภาพของ CAT จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_cat_sum เป็น True
  240.             
  241.             hotspot (607, 184, 193, 56) action ShowMenu("CG_Gallery_CAT") hover_sound "sound/click.wav"
  242.         
  243.         if persistent.group_image_XXX_sum: #<กลุ่มภาพของ ??? จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_XXX_sum เป็น True
  244.             
  245.             hotspot (607, 395, 193, 56) action ShowMenu("CG_Gallery_XXX") hover_sound "sound/click.wav"
  246.         
  247.         if persistent.group_image_bunny_sum: #<กลุ่มภาพของ BUNNY จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_bunny_sum เป็น True
  248.             
  249.             hotspot (607, 325, 193, 56) action ShowMenu("CG_Gallery_BUNNY") hover_sound "sound/click.wav"
  250.         
  251.         if persistent.group_image_dog_sum: #<กลุ่มภาพของ DOG จะเปิดใช้ได้ก็ต่อเมื่อ เงื่อนไข persistent.group_image_dog_sum เป็น True
  252.             
  253.             hotspot (607, 256, 193, 56) action ShowMenu("CG_Gallery_DOG") hover_sound "sound/click.wav"
  254.             if persistent.group_image_xxx_01:
  255.                 hotspot (75, 189, 208, 141) action Show("xxx1", transition=fade)
  256.             
  257.             if persistent.group_image_xxx_02:
  258.                 hotspot (321, 189, 208, 141) action Show("xxx2", transition=fade)
  259.             
  260.             if persistent.group_image_xxx_03:
  261.                 hotspot (75, 365, 208, 139) action Show("xxx3", transition=fade)
  262.             
  263.             if persistent.group_image_xxx_04:
  264.                 hotspot (321, 365, 211, 139) action Show("xxx4", transition=fade)
  265. </font>
คัดลอกไปที่คลิปบอร์ด
4. แล้วไปที่คำสั่ง File > Save... (หรือกดปุ่มCtrl+S) ให้บันทึกไฟล์นี้ในแฟ้มชื่อ game ในแฟ้มเกมส์ของเรา ตั้งชื่อไฟล์ว่าอะไรก็ได้ ได้หมด แต่สกุลจะต้องเป็น .rpyเท่านั้น เดี๋ยวโปรแกรมมันจะวิ่งหาไม่เจอ  (อย่าลืมพิมพ์สกุล .rpy ต่อท้ายชื่อด้วยนะ)
gallery_imagemap_09.png


ขั้นตอนที่ 5
- จากนั้นเราก็จะมาใส่โค๊ดที่ไฟล์script.rpy เพื่อปลดล๊อค หน้าเมนูหลักภาพ CG แต่ละตัวละคร และ CG ย่อยที่ซ่อนอยู่ภายในแต่ละภาพกันค่ะ
- ตัวอย่างการใส่โค๊ดที่ไฟล์ script.rpy


  1. # Declare images below this line, using the image statement.
  2. # eg. image eileen happy = "eileen_happy.png"
  3. # Declare characters used by this game.

  4. define p = Character('ปกิณกะ', color="#f8f092")


  5. image cat1 = "map/cat1.jpg"
  6. image cat2 = "map/cat2.jpg"
  7. image cat3 = "map/cat3.jpg"
  8. image cat4 = "map/cat4.jpg"
  9. image cat5 = "map/cat5.jpg"
  10. image cat6 = "map/cat6.jpg"

  11. # เริ่มเกมส์
  12. label start:
  13.     scene black
  14.     p "ในบรรดาสัตว์เลี้ยง อย่าง.. แมว สุนัข กระต่าย คุณชื่นชอบชนิดไหนเป็นพิเศษค่ะ?"
  15. menu:
  16.     "ฉันชอบแมวมากที่สุด":
  17.         jump cat
  18.         #jump input_screen
  19.     "ฉันชอบสุนัขมากที่สุด":
  20.         jump dog
  21.         
  22.     "ฉันชอบกระต่ายมากที่สุด":
  23.         jump bunny
  24.         
  25. #ทางเลือกต่างๆ หลังจากคลิกเลือกคำตอบ
  26. #------------------------เลือก Cat ข้อ 1. -------------------------
  27. label cat:
  28.     scene cat1
  29.     $ persistent.group_image_cat_01 = True #<-----สั่งให้ภาพ cat1.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค
  30.     p "ฉันก็ชอบแมวเหมือนกันนะ...^^...."
  31.     scene cat2
  32.     $ persistent.group_image_cat_02 = True #<-----สั่งให้ภาพ cat2.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค
  33.     p "ฉันก็ชอบแมวเหมือนกันนะ...^^...."
  34.    
  35.     scene cat3
  36.     $ persistent.group_image_cat_03 = True  #<-----สั่งให้ภาพ cat3.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค
  37.     p "บางทีเราอาจจะมีนิสัยคล้ายๆกัน"
  38.    
  39.     $ persistent.group_image_cat_sum = True #<------กลุ่มชุดรวมภาพ Gallery หน้าหลักของ CAT ถูกปลดล๊อค
  40.    
  41.     $ persistent.extra_unlocked = True #สั่งให้ persistent.extra_unlocked = True (เป็นจริง)
  42.                                                         #เปิดใช้งานหน้า Bonus
  43.     #jump end_cat
  44.    
  45. #------------------------เลือก Dog ข้อ 2. -------------------------
  46. label dog:
  47.     scene cat4 #ไม่มีภาพหมา เอาภาพแมวไปก่อน -*-
  48.    
  49.     $ persistent.group_image_cat_04 = True  #<-----สั่งให้ภาพ cat4.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค
  50.    
  51.     $ persistent.group_image_dog_01 = True  #<-----สั่งให้ภาพ dog1.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค
  52.    
  53.     $ persistent.group_image_dog_sum = True #<------กลุ่มชุดรวมภาพ Gallery หน้าหลักของ DOG ถูกปลดล๊อค
  54.    
  55.     p "ที่บ้านฉันเลี้ยงสุนัขไว้ 2 ตัวเป็นพันธุ์ชิวาว่าล่ะ .. :D... "
  56.    
  57.     $ persistent.extra_unlocked = True #สั่งให้ persistent.extra_unlocked = True (เป็นจริง)
  58.                                                         #เปิดใช้งานหน้า Bonus
  59.     #jump end_dog
  60. #------------------------เลือก Bunny ข้อ 3. -------------------------
  61. label bunny:
  62.     scene cat1 #ไม่มีภาพกระต่าย เอาภาพแมวไปก่อน -*-

  63.     $ persistent.group_image_bunny_01 = True #<-----สั่งให้ภาพ bunny1.jpg ที่หน้า CG_Gallery_CAT ถูกปลดล๊อค


  64.     p "ฉันเคยเลี้ยงกระต่ายไว้ที่บ้าน มันน่ารักมาก แต่มันก็มีนิสัยเสียตรงที่ชอบกัดสายไฟ -*- "

  65.     $ persistent.group_image_bunny_sum = True #<------กลุ่มชุดรวมภาพ Gallery หน้าหลักของ BUNNY ถูกปลดล๊อค

  66.     $ persistent.extra_unlocked = True #สั่งให้ persistent.extra_unlocked = True (เป็นจริง)
  67.                                                         #เปิดใช้งานหน้า Bonus
  68.     #jump end_bunny
  69. return
คัดลอกไปที่คลิปบอร์ด
gallery_imagemap_10.png ตัวอย่างการใส่โค๊ด....และการสร้างเงื่อนไข

ที่ไฟล์ bonus จะเห็นว่าเรากำหนดโค๊ดเงื่อนไขเพื่อล๊อคภาพไว้ว่า
    if persistent.group_image_cat_sum: #<----ชื่อด้านหลังเราจะกำหนดว่าอะไรก็ได้ขอเพียงให้มีคำว่า "if persistent." นำหน้ามันก็จะกลายเป็นการสร้างเงื่อนไขล๊อคภาพนั้นไว้ทันที

และเพื่อให้ภาพนั้นถูกปลดล๊อค (เป็น True) เราจำเป็นต้องใส่โค๊ดปลดล๊อคไว้ที่ไฟล์ script.rpy ด้วยไม่งั้นภาพต่างๆก็จะยังถูกล๊อคไว้ตลอดกาล ไม่แสดง และไม่สามารถคลิกเข้าไปดูได้การปลดล๊อคก็เพียงกำหนดให้เงื่อนไขมีค่าเท่ากัน True แค่นั้นเอง  
    $ persistent.group_image_cat_sum= True

***ถ้ามีภาพ CGใน Gallery 16 ภาพ เมื่อสร้างเงื่อนไขล๊อคครบ 16ภาพแล้ว อย่าลืมใส่โค๊ดเพื่อปลดล๊อคทั้ง 16 ภาพเอาไว้ด้วยนะค่ะ

เมื่อทำตามขั้นตอนทั้งหมดแล้วก็ลองรันโปรแกรมเพื่อTest โค๊ดคำสั่งต่างๆดูหลายๆรอบเพื่อความแน่ใจในขั้นตอนนี้ ข้าพเจ้าเองลองรันโปรแกรมหลายรอบแล้ว โค๊ดตัวคำสั่งทั้งหมด ยังไม่พบ Errorใดๆ มันจะติด Error อยู่อย่างเดียวคือภาพกลุ่ม dog.jpg,  bunny.jpg , xxx.jpg ทั้งหมดไม่มี(ขี้เกียจหามาใส่) ถ้าไปเผลอคลิกเข้าโปรแกรมจะเด้ง นอกนั้นก็ไม่มีอะไรรันโปรแกรมได้ตามปกติค่ะ

------------------------------------------------------------------------

นอกจากนี้ จากโค๊ดทั้งหมดจะเห็นว่าข้าพเจ้าได้กำหนดให้มีภาพ CG ของตัวละครลับ(xxx)เพิ่มขึ้นมาด้วย โดยภาพของตัวละครลับนี้ข้าพเจ้ากำหนดให้มันถูกปลดล๊อคได้ก็ต่อเมื่อ หน้าหลักGalleryของcat dog bunny ถูกปลดล๊อคทั้ง 3 หน้าแล้ว(ที่มีคำว่า sum ต่อท้ายคือหน้ากาก Gallery หลักของแต่ละตัวละคร) (ซึ่งก็ไม่จำเป็นว่า ภาพ CG  01 ,02 ,03, 04 ฯลฯ ทุกภาพจะต้องถูกปลดผนึกจนครบ)

จากภาพด้านล่างเมื่อภาพใดถูกปลดล๊อค ตรงปุ่มจะมีไฟสีเขียวแสดงอยู่นั่นแสดงว่าเราสามารถคลิกเข้าไปดูกลุ่มภาพ CG ข้างในได้ และเมื่อ Gallery ของ cat dog และ bunny ถูกล๊อคแล้วก็จะส่งผลให้ xxx(???) ถูกปลดล๊อคตามด้วยเช่นกัน


gallery_imagemap_11.png


(คลิกเข้าไปดูแต่ละภาพ)


gallery_imagemap_12.png

อัพโหลดไฟล์ตัวอย่างที่ใช้สอนในประกอบบทความ Test Gallery Image Map-1.0-win.zip (9.52 MB, ดาวน์โหลดแล้ว: 459)
ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

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

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

GMT+7, 2024-12-22 17:40 , Processed in 0.090059 second(s), 21 queries .

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

© 2001-2017 Comsenz Inc.

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