Renpy WorkShop การกำหนดค่า Option ต่างๆก่อนสร้าง Game ตอนที่ 2
posted on 12 Apr 2011 14:24 by vashiya in Programming, renpy, Workshopกลับมาแล้วจ้าตอนนี้ต้องรีบเร่งที่จะขนย้ายเอาเนื้อหาจากเว็บเดิมมาลงที่นี่ให้หมดดูไปดูมาตอนแรกก็ว่ามีอยู่นิดเดียวอ่ะนะแต่พอเอาเข้าจริงๆ เออ...
ก็ว่าเยอะเหมือนกันนะนี่แล้วไหนจะต้องมา Update เนื้อหาใหม่ในแต่ละบทอีกล่ะโอย....
เพื่อไม่ให้เสียเวลาเรามาเริ่มกันเลยดีกว่า
· กลุ่มคำสั่งที่เกี่ยวกับการจัดการกรอบคำพูด
style.window.background = Frame("frame.png", 12, 12) เป็นการกำหนดค่าของกรอบคำพูดโดยใช้ฟังก์ชัน Frame เป็นตัวกำหนด. ฟังก์ชัน Frame นั้นจะมีพารามิเตอร์อยู่ 3 ตัวคือ
ตัวที่1. จะเป็นตัวที่กำหนดรูป Background ของกรอบคำพูดว่าเป็นรูปไหนในที่นี้จะกำหนดให้ใช้รูปที่ชื่อว่า frame.png หากคุณต้องการที่จะใช้รูปอื่นก็สามารถเปลี่ยนชื่อตามที่คุณต้องการได้นะจ๊ะ
ส่วนตัวที่2และ3 จะเป็นตัวที่จะกำหนดขนาดของกรอบ โดยที่ตัวที่ 2 จะกำหนดความหนาทางด้านซ้ายและขวาของกรอบคำพูดและตัวที่ 3 จะกำหนดความหนาทางด้านบนและล่างของกรอบคำพูด(กำหนดไว้ตามทีมันให้มาดีที่สุตแต่จะปรับแต่งเองก็อีกเรื่องนึง)

style.window.left_margin = 6 กำหนดตำแหน่งความห่างทางซ้ายระหว่างขอบwindowกับกรอบคำพูด
style.window.right_margin = 6 กำหนดตำแหน่งความห่างทางขวาระหว่างขอบwindowกับกรอบคำพูด
style.window.top_margin = 6 กำหนดตำแหน่งความห่างทางด้านบนระหว่างขอบwindowกับกรอบคำพูด
style.window.bottom_margin = 6 กำหนดตำแหน่งความห่างทางด้านล่างระหว่างขอบwindowกับกรอบคำพูด
style.window.left_padding = 6 กำหนดตำแหน่งความห่างทางซ้ายระหว่างกรอบคำพูดกับข้อความในกรอบคำพูด
style.window.right_padding = 6 กำหนดตำแหน่งความห่างทางขวาระหว่างกรอบคำพูดกับข้อความในกรอบคำพูด
style.window.top_padding = 6 กำหนดตำแหน่งความห่างทางด้านบนระหว่างกรอบคำพูดกับข้อความในกรอบคำพูด
style.window.bottom_padding = 6 กำหนดตำแหน่งความห่างทางด้านล่างระหว่างกรอบคำพูดกับข้อความในกรอบคำพูด
style.window.yminimum = 250 กำหนดความสูงของกรอบคำพูด จากตัวอย่างจะกำหนดให้ความสูงของกรอบคำพูดอยู่ที่ 250 พิกเซล (เราจะเรียกใช้คำสั่งนี้หรือไม่ก็ได้)

คุณสามารถเลือกใช้ได้ 2 แบบ คือ
1. แบบที่จะต้องเขียนเองในส่วนนี้นั้นคุณจำเป็นที่จะต้องไปเขียนเพิ่มเติมกันเอาเองนะครับโดยที่ จะต้องเพิ่มไว้ตรงท้ายนอกวงเล็บ ” ) ”ของฟังก์ชัน theme.roundrect ซึ่งเราได้เคยกล่าวไว้แล้วจากครั้งก่อน (อันที่จริงแล้วเราจะวางไว้ตรงไหนก็ได้อ่ะนะแต่ผมว่าวางไว้ตรงนี้มันมองเห็นง่ายดีไม่มั่วด้วยล่ะ เหอ...เหอ...เหอ...)
style.mm_menu_window.yanchor = 0 กำหนดแกนYโดยใช้ตำแหน่งกึ่งกลางเมนูเป็นหลัก
style.mm_menu_window.ypos = 0.05 กำหนดแกนYโดยใช้มุมบนซ้ายเป็นหลัก
style.mm_menu_window.xanchor = 0 กำหนดแกนXโดยใช้ตำแหน่งกึ่งกลางเมนูเป็นหลัก
style.mm_menu_window.xpos = 0.05 กำหนดแกนXโดยใช้มุมบนซ้ายเป็นหลัก
2. แก้ไขจากตัวโค๊ดที่มีให้อยู่แล้ว ดังรูป
style.mm_menu_frame.xpos = 0.5 กำหนดแกนXโดยใช้มุมบนซ้ายเป็นหลัก
style.mm_menu_frame.xanchor = 0.5 กำหนดแกนXโดยใช้ตำแหน่งกึ่งกลางเมนูเป็นหลัก
style.mm_menu_frame.ypos = 0.75 กำหนดแกนYโดยใช้มุมบนซ้ายเป็นหลัก
style.mm_menu_frame.yanchor = 0.5 กำหนดแกนYโดยใช้ตำแหน่งกึ่งกลางเมนูเป็นหลัก

ปล. ทั้ง 2 คำสั่งนี้ทำงานเหมือนกันแล้วแต่ว่าใครอยากจะเรียกใช้ตัวไหนละกัน หากเรากำหนดเอา 2 ค่านี้ไว้พร้อมกัน เช่น
style.mm_menu_frame.xpos = 40 style.mm_menu_frame.xanchor = 100
ผลที่ได้ออกมาก็คือมุมซ้ายบนของ Menu จะไปหรากฎอยู่บนแนวแกน x ที่ -60เนื่องจากจะเกิดการหักล้างค่ากันนั่นเองโดยมีสูตรการคิดดังนี้
ตำแหน่งแกนXหรือyบนมุมซ้ายบนที่แสดงจริงๆ = ตำแหน่งแกนxหรือyที่มุมซ้ายบน - ตำแหน่งแกนxหรือyในตำแหน่งกึ่งกลางเมนูเป็นหลัก
ค่าของตัวเลขที่เราจะต้องกำหนดในส่วนนี้สามารถกำหนดได้ 2 แบบคือ ถ้ากำหนดเป็นตัวเลขจำนวนเต็มมันจะกำหนดค่าตำแหน่งที่แสดงผลออกมาเป็นหน่วยพิกเซล แต่ถ้าใส่เป็นค่าทศนิยมมันจะแสดงผลตำแหน่งออกมาเป็นหน่วย นิ้ว (int)
· กลุ่มคำสั่งที่กำหนด Font และขนาดของตัวอักษร(ถ้าคิดจะเปิดใช้งานคำสั่งนี้ต้องเปิดใช้งานพร้อมกันทั้งคู่นะจ๊ะ)
style.default.font = "DejaVuSans.ttf" กำหนดชนิดของ Font ที่จะใช้งาน
fontstyle.default.size = 30 กำหนดขนาดของตัวอักษร

· ต่อมาก็จะเป็นส่วนของการกำหนดค่าเกี่ยวกับเสียง
config.has_sound = True/ False อนุญาตให้ใช้
sound effectsconfig.has_music = True/ False อนุญาตให้ใช้เพลงประกอบ
config.has_voice = True/ False อนุญาตให้ใช้เสียงต่างๆ เช่นเสียงพูด
style.button.activate_sound = "click.wav" เสียงปุ่มกดทั่วไป
style.imagemap.activate_sound = "click.wav" เสียงปุ่มกดของimage map(รูปภาพที่กดได้)
config.enter_sound = "click.wav" เสียงปุ่มกดตอนเข้าเกมส์
config.exit_sound = "click.wav" เสียงปุ่มกดตอนออกจากเกมส์
config.sample_sound = "click.wav" เสียงปุ่มกดเพื่อทดลองเสียงในส่วน option
optionconfig.main_menu_music = "main_menu_theme.ogg" เพลงไตเติ้ลตอนหน้า menu เกมส์

Tip เล็กน้อย สำหรับการกำหนดค่า
ในบางครั้งเมื่อเราทำการลบ เครื่องหมาย # ออกไปเพื่อที่จะทำการกำหนดค่านั้น เมื่อลบไปแล้วจึงทำการรันเกมส์ใหม่แต่ไหง มันขึ้นว่า “ SyntaxError: invalid syntax (line XXX) ” ได้ล่ะนี่ คุณอาจจะนึกในใจว่า อีตาคนสอนมันมั่ว หรือว่าโปรแกรมมันยังไม่สมบูรณ์กันแน่วะ (5555ผมได้ยินนะ) ใจเย็นๆครับอับดุนแก้ได้(5555) เนื่องจากว่ารูปแบบของไวยากรณ์ภาษานี้อาจจะออกบ๊องๆหน่อย คือว่าเมื่อคุณทำการลบเครื่องหมาย # ออกแล้วให้คุณทำการล่นย่อหน้าเข้ามา ก็คือล่นย่อหน้าเข้ามาให้อยู่ในคอลัมน์ที่9เท่านั้นเองน่ะครับ เท่านี้เองการปรับแต่งค่าของพวกคุณก็ผ่านฉลุยไม่มีคำเตือน Error โผล่ขึ้นมาให้คุณหงุดหงิดใจอีกต่อไป............
...... เป็นต้น
)
)

ใจเย็นๆครับพี่น้องบทแรกที่ผมจะกล่าวนำก็คือการกำหนดค่าต่างๆก่อนที่จะสร้างเกมส์ครับ ประมาณว่า การ Config ค่าอะไรประมาณนั้นแหล่ะ ครั้งต่อไปในบทหลังๆก็จะเป็นการแนะนำในการใช้งานคำสั่งต่างๆที่จำเป็นในการสร้างเกมส์ครับ
แล้วพบกันใหม่ในครั้งต่อไปครับบ๊ายบาย.........
อ๊า.......


รวบรวมเครื่องมือที่มีประโยชน์ 

อ๊าาาา......)
....) ซึ่งโดยพิ้นฐานของภาษาที่ใช้ในการเขียนกับเอนจิ้นตัวนี้นั้นจะใช้ภาษา Python ครับ (ออกจะดังนะเธอว์
สำหรับภาษาตัวนี้ที่ต่างประเทศน่ะ แต่ในเมืองไทย JAVA มันดังกว่า
) ดังนั้นเนี่ยะหากว่าอยากจะเชี่ยวเกี่ยวกับตัวนี้จริงๆขอให้ไปศึกษาภาษา Python ควบคู่ดูครับสำหรับหนังสือที่สอนเกี่ยวกับภาษา Python ที่เป็นภาษาไทยเนี่ยะตอนนี้ผมเห็นมีออกมาแค่เล่มเดียวเองมั้ง จำไม่ได้
) กลับไปที่หน้าmenu ใหม่ครับแล้วเลือกปุ่ม Edit Script ขึ้นมาซะ เอาล่ะจะเริ่มเขียนแล้วล่ะนะ เมื่อเราเข้ามาในหน้าของการเขียน Script นั้นจะมี Tab อยู่ 2 ตัว (ไอที่อยู่ข้างบนน่ะ) Tab 2 ตัวนั้นมันก็คือชื่อไฟล์ที่จำเป็นต่อการเขียนซึ่งมันจะทำการกำหนดค่าต่างๆในการสร้างให้เรานะครับ เรามาเริ่มดูกันก่อนดีกว่าว่าภายในไฟล์นั้นมีอะไรบ้างและใช้งานกันยังไง

อร๊ายยยย.....
