|
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2019-11-30 19:44
[Renpy] 60. วิธีการทำ Imagemap หน้า Save & Load
ขั้นตอนที่ 1 : เตรียมภาพ map - สำหรับการทำหน้า Imagemap ของ Load และ Save เราต้องใช้ทั้งหมด 10 หน้าด้วยกัน คือ หน้า Load จำนวน 5 หน้า และหน้า Save จำนวน 5 หน้า ถ้าถามไว้ทำไมต้องอย่างละ 5 หน้า และแต่ละหน้ามีไว้ทำอะไรก็ขอให้กลับไปอ่านบทความ - [renpy]57. วิธีทำ Imagemap หน้า Preferences ก่อนค่ะจะได้เข้าใจง่ายกว่า
- ภาพนี้เป็นภาพหน้า Load Save ที่โปรแกรม Renpy สร้างให้อัตโนมัตินะค่ะ เราจะเอาหน้านี้มาใช้เป็นตัวอย่างคร่าวๆ ในการออกแบบหน้า Imagemap Load Save ของเรา
- สำหรับภาพ Imagemap Load และ Save ที่เราออกแบบทั้ง 10 หน้าไว้ จะมีให้โหลดที่ลิงค์ด้านล่างของบทความนะค่ะ เผื่อจะลองทำตาม หรือลองเอาไปเทียบตำแหน่งพิกัดในโปรแกรม Photoshop ดูว่ากลุ่มพิกัดตัวเลขแต่ละชุด กำลังแทนค่าตำแหน่งไหนในภาพ
ขั้นตอนที่ 2 : ลบโค๊ดที่ไม่จำเป็น
2.1 ให้เปิดไฟล์ screens.rpy ขึ้นมา และเลื่อนลูกกลิ้งเม้าส์ลงไปล่างๆ หาโค๊ดหน้า Save และ Load ที่โปรแกรมทำไว้ในเรา ให้แดรกเม้าส์เลือกโค๊ดทั้งหมดตามในภาพ และกดปุ่ม "Delete" เพื่อลบทิ้งให้หมดค่ะ
2.2 จากนั้นให้บันทึกไฟล์ (กดปุ่ม Ctrl+S) และปิดไฟล์นี้ไปซะ
ขั้นตอนที่ 3 : หาพิกัด X, Y, W, H undefined
3.1 เปิดโปแกรม Photoshop ขึ้นมาและหาพิกัดตัวเลขแต่ละกลุ่ม สำหรับคนที่ยังหาพิกัดตัวเลขในการ Map ไม่เป็นนะค่ะ ให้ย้อนกลับไปดูบทความ - [renpy] 53. วิธีทำ Imagemap ภายในเกมส์ก่อน
3.2 ให้ Copy โค๊ดด้านล่างทั้งหมดไปใส่ในไฟล์ options.rpy (หรือใส่ไว้ไฟล์ screens.rpy ก็ได้ มีค่าเท่ากันค่ะ เพราะโปรแกรมจะไม่สนใจชื่อไฟล์ มันจะสนใจแต่โค๊ดคำสั่งที่อยู่ภายในนั้นอย่างเดียว)
3.3 เมื่อนำโค๊ดที่ Copy ไปวางแล้ว อย่าลืมเปลี่ยนพิกัดตัวเลข X, Y, W, H เป็นตำแหน่งใหม่ ตามภาพImagemap ที่เราออกแบไว้ด้วยนะค่ะ (สำหรับคนที่โหลดภาพ Imagemap ทั้ง 10 ภาพ ที่เราทำไว้ให้ไปลองทำตามดู ก็ยังไม่จำเป็นต้องเปลี่ยนพิกัดใหม่นะค่ะ เพราะพิกัดในโค๊ดเราใส่ให้ถูกตำแหน่งกับภาพ Map หมดแล้ว)
(อันนี้เป็นภาพตัวอย่างโค๊ด ที่แยกสีไว้ให้ดูง่ายเฉยๆค่ะ โค๊ดตัวที่ให้ Copy ไปวางได้ จะอยู่อันล่าง)
โค๊ดข้างล่างทั้งหมดนี่แหล่ะ Copy ไปวางต่อท้ายที่ไฟล์ options.rpy เลยค่ะ
Code:
- #-----------------------------------------------------------------------------
- #----------------- IMAGEMAP SAVE / LOAD SCREEN ---------------
- #-----------------------------------------------------------------------------
- screen load_save_slot:
- $ file_text = "% s\n %s" % (FileTime(number, empty="Empty Slot."), FileSaveName(number))
- add FileScreenshot(number) xpos 5 ypos 15 #<---- ตำแหน่งวางภาพหน้า ScreenShot ปัจจุบันที่บันทึก
- text file_text xpos 100 ypos 11 #<---- ตำแหน่งแสดง Text ที่บันทึก
- key "save_delete" action FileDelete(number)
- screen load:
- tag menu
-
- imagemap:
- #หน้า Load ใช้ทั้งหมด 5 ภาพ
- ground 'menu/load_ground.png'
- idle 'menu/load_idle.png'
- hover 'menu/load_hover.png'
- selected_idle 'menu/load_selected_idle.png'
- selected_hover 'menu/load_selected_hover.png'
- #หน้าสำหรับ Load มีทั้งหมด 5 หน้า ให้กดคลิกเพื่อเปลี่ยนไปแต่ละหน้า
- hotspot (-1, -1, -1, -1) action FilePage('auto')
- hotspot (315, 106, 92, 86) action FilePage(1) hover_sound "sound/click.wav"
- hotspot (407, 106, 92, 86) action FilePage(2) hover_sound "sound/click.wav"
- hotspot (500, 106, 92, 86) action FilePage(3) hover_sound "sound/click.wav"
- hotspot (596, 106, 92, 86) action FilePage(4) hover_sound "sound/click.wav"
- hotspot (688, 106, 92, 86) action FilePage(5) hover_sound "sound/click.wav"
-
- #แทนตำแหน่งช่องสำหรับ Load ทั้ง 8 ช่อง
- hotspot (279, 215, 249, 81) action FileAction(0):
- use load_save_slot(number=0)
- hotspot (279, 307, 249, 81) action FileAction(1):
- use load_save_slot(number=1)
- hotspot (279, 399, 249, 81) action FileAction(2):
- use load_save_slot(number=2)
- hotspot (279, 499, 249, 81) action FileAction(3):
- use load_save_slot(number=3)
-
- hotspot (540, 215, 249, 81) action FileAction(4):
- use load_save_slot(number=4)
- hotspot (540, 307, 249, 81) action FileAction(5):
- use load_save_slot(number=5)
- hotspot (540, 399, 249, 81) action FileAction(6):
- use load_save_slot(number=6)
- hotspot (540, 499, 249, 81) action FileAction(7):
- use load_save_slot(number=7)
-
- hotspot (43, 260, 193, 50) action Return() hover_sound "sound/click.wav"
- hotspot (43, 310, 193, 50) action ShowMenu('save') hover_sound "ssound/click.wav"
- hotspot (43, 362, 193, 50) action ShowMenu('load') hover_sound "sound/click.wav"
- hotspot (43, 412, 193, 50) action ShowMenu('preferences') hover_sound "sound/click.wav"
- hotspot (43, 464, 193, 50) action MainMenu() hover_sound "sound/click.wav"
- hotspot (43, 516, 193, 50) action Quit() hover_sound "sound/click.wav"
- screen save:
-
- tag menu
-
- imagemap:
- #หน้า Save ใช้ทั้งหมด 5 ภาพ
- ground 'menu/save_ground.png'
- idle 'menu/save_idle.png'
- hover 'menu/save_hover.png'
- selected_idle 'menu/save_selected_idle.png'
- selected_hover 'menu/save_selected_hover.png'
- #หน้าสำหรับ Save มีทั้งหมด 5 หน้า ให้กดคลิกเพื่อเปลี่ยนไปแต่ละหน้า
- hotspot (-1, -1, -1, -1) action FilePage('auto')
- hotspot (315, 106, 92, 86) action FilePage(1) hover_sound "sound/click.wav"
- hotspot (407, 106, 92, 86) action FilePage(2) hover_sound "sound/click.wav"
- hotspot (500, 106, 92, 86) action FilePage(3) hover_sound "sound/click.wav"
- hotspot (596, 106, 92, 86) action FilePage(4) hover_sound "sound/click.wav"
- hotspot (688, 106, 92, 86) action FilePage(5) hover_sound "sound/click.wav"
-
- #แทนตำแหน่งช่องสำหรับ Save ทั้ง 8 ช่อง
- hotspot (279, 215, 249, 81) action FileAction(0):
- use load_save_slot(number=0)
- hotspot (279, 307, 249, 81) action FileAction(1):
- use load_save_slot(number=1)
- hotspot (279, 399, 249, 81) action FileAction(2):
- use load_save_slot(number=2)
- hotspot (279, 499, 249, 81) action FileAction(3):
- use load_save_slot(number=3)
-
- hotspot (540, 215, 249, 81) action FileAction(4):
- use load_save_slot(number=4)
- hotspot (540, 307, 249, 81) action FileAction(5):
- use load_save_slot(number=5)
- hotspot (540, 399, 249, 81) action FileAction(6):
- use load_save_slot(number=6)
- hotspot (540, 499, 249, 81) action FileAction(7):
- use load_save_slot(number=7)
-
- hotspot (43, 260, 193, 50) action Return() hover_sound "sound/click.wav"
- hotspot (43, 310, 193, 50) action ShowMenu('save') hover_sound "sound/click.wav"
- hotspot (43, 362, 193, 50) action ShowMenu('load') hover_sound "sound/click.wav"
- hotspot (43, 412, 193, 50) action ShowMenu('preferences') hover_sound "sound/click.wav"
- hotspot (43, 464, 193, 50) action MainMenu() hover_sound "sound/click.wav"
- hotspot (43, 516, 193, 50) action Quit() hover_sound "sound/click.wav"
คัดลอกไปที่คลิปบอร์ด
3.4 อย่าลืมลบคำสั่ง "sound/click.wav" ออกด้วยนะค่ะ สำหรับคนที่ไม่มีไฟล์เสียงประกอบ
3.5 จากนั้นให้บันทึกไฟล์ (กดปุ่ม Ctrl+S) และปิดไฟล์นี้ไปซะ
ขั้นตอนที่ 4 : ตรวจสอบผลลัพธ์ที่ได้
- ทดสอบรันเกมส์เลยค่ะ ในภาพด้านล่างคือหน้า Load ที่ทำ Imagemap ใหม่แล้ว
- ลองเปิดหน้า Save ดูบ้าง
สำหรับหน้า Save และหน้า Load ซึ่งเรากำหนดไว้ให้มี 5 หน้าด้วยกัน ในภาพคือหน้า Save ที่ 2 ถ้าใครต้องการมากกว่านี้ก็ไปเพิ่มโค๊ดเอาเองนะค่ะ มองโค๊ดแล้วน่าจะเพิ่มเองได้ไม่ยาก
undefined
( โหลดภาพ Imagemap ที่เราทำไว้ทั้งหมด 10 ภาพตรงนี้ค่ะ )
menu.rar
(1.68 MB, ดาวน์โหลดแล้ว: 422)
|
|