Thaiaat : คลังอัลบั้มรูปภาพ - Handmade - Anime - การ์ตูน
Saturday, September 11, 2010  
กล่องตะโกน
vashiya
11/02/2010 11:05
ต่อไป...เดี๋ยวจะลองวาด "แว่วเสียงน้องแกะ" ดูบ้าง เหอ...เหอ...เหอ...


Annie
09/02/2010 13:24
ท่านvashiya ติดตามดราม่าแกะเหมือนกันหรอนี่


vashiya
03/12/2009 22:10
อืม.....แก่ไปอีกปีแล้วแฮะเรา = ="


Frix
03/12/2009 01:43
- เห็นตรงกะวันคล้ายวันเกิดทั่นวาที่วิวมิกซ์ แวะมาอวยพรที่เวปด้วยละกัน ขอให้สุขภาพแข็งแรง จิตใจแจ่มใส มีแต่สิ่งพึงปรารถนาเข้ามานะท่าน


Frix
21/09/2009 23:53
เนตบ้านใช้ได้ละน่อ แต่อืดชะมัดยาด ทั่นวาว่างๆก็ปั่นสี่ช่องมาเพิ่มเรื่อยๆได้เลยนะ มีเวลา 2 เดือนก่อนวันงานแต่ชะล่าใจไม่ได้ เวลามันไว เหอะๆ


Frix
19/08/2009 09:19
ได้เลยทั่นวา เพราะตอนนี้ที่มีส่งแน่ๆก็แค่ผมกะนิมเบิ้ลเอง แถมมุขตันสุดๆ ดันดูClannad ซึ้งจนมุขไม่ออกเลย 555


rin
18/08/2009 22:12
แต่ในใจผมจริงๆแล้วตอนนี้คิดว่า Renpy น่าจะยังได้เปรียบมากกว่าในเรื่องของการกระจายในหลายแพลตฟอร์มครับ เพราะทำทีเดียวใช้ได้ทั้ง window ,mac,linux ในขณะที่ Novelty นั้นยังรองรับแค่ window เท่านั้น


vashiya
18/08/2009 11:40
โอ้....เยี่ยมมากรินคุง ผมยังทดสอบไปไม่ถึงตรงนั้นเลยอ่ะ ผมดูแค่องค์ประกอบภายนอกรปร่างโปรแกรม แล้วก็ Syntax ของภาษา แต่ภาษา xml คงต้องเรียกว่า Schema สินะ 5555


rin
17/08/2009 22:17
ยกเว้นว่าเราจะทำฟอนท์ใส่เองเท่านั้นแหละครับ


rin
17/08/2009 22:16
ทรัพยากรเครื่องมหาโหดแล้วแต่เรื่องการแสดงภาพยังไม่ค่อยเสถียรเท่าไหร่และยังไม่ค่อยรองรับภาษาไทยด้วยนี่คือปัญหาใหญ่ครับ


rin
17/08/2009 22:15
Novelty ตัวล่าสุดยังเป็นรุ่น 0.8.2 อยู่นะครับ(ยังนับเป็นรุ่นทดลองอยู่) ซึ่งบางครั้งมันก็ดันออกอาการแผลงๆอย่างไม่แสดงภาพบ้างหรือกินรีซอร์สเครื่องมหาศาลทีเดียวแต่เวอร์ชั่นใหม่นี่รู้สึกจะแก้เรื่องการใช้ท


vashiya
17/08/2009 10:16
Frix คุง งานเคียวอนิเดี๋ยวผมอาจจะส่งไปให้สักหน้าสองหน้านะ (ถ้าไม่ทันก็หน้าเดียว)


vashiya
17/08/2009 09:45
อืม......เอาไงดีล่ะเนี่ยท่าที่ลองจับๆดูแล้วถือว่าดีกว่า Ren'py เลยล่ะ มีใครสนใจซับไทยไหมล่ะเดี๋ยวจะลองแปลมาลงด้วย ใครสนใจยกมือขึ้นนนนนนน


Frix
17/08/2009 08:48
- รอรินกับทั่นวาทำพรีวิว โปรแกรมให้ดูน่อ / ปั่นงานเคียวอนิต่อ


vashiya
16/08/2009 23:19
โอ้......ในที่สุดก็มีtoolสร้างอย่างงี้ออกมาซะที ดีจังจะได้ไม่เหนื่อย เหอ...เหอ...เหอ... เดี๋ยวต้องขอดูหน่อยแล้วว่ามันเป็นยังไง


rin
16/08/2009 21:17
เพิ่งไปเจอ engine แจ่มๆตัวนึงมากครับชื่อ Novelty การทำงานคล้ายดรีมวีฟเวอร์มากๆ แค่จับภาพจับฉากมาวางใส่ก็เรียบร้อยแล้ว ดูได้ที่นี่เลยครับ www.visualnovelty.com


vashiya
30/07/2009 22:36
อืม....ยูเนียนมอลล์ อยู่ห่างจากบ้านผมพอสมควร แต่คิดว่าคงไปได้แหล่ะนะ วันอาทิตย์ด้วย


Frix
29/07/2009 13:55
- ทั่นวาสนใจม่ะ นิมยังไม่ตั้งกระทู้เลย สงสัยเวลากระชั้นไปแหะ


vashiya
28/07/2009 22:36
KyoAni - Only Event - อาทิตย์ที่ 6 กันยายน 2552 ลานกิจกรรม ชั้น F2 หน้า Lunchbox Cafe' @ Union Mall ค่า Circle 150 บาท ค่าเข้างาน ฟรี! เวลางาน 11.00 - 15.00 น.


Frix
28/07/2009 11:06
- ตอนนี้วางแผนลุยงาน KyoAni Event อยู่ งานมีต้นเดือนกันยา เวลากระชั้นสุดๆ สนใจร่วมแจมได้นะ ทุกท่าน เดี๋ยวหมานิมจะตั้งกระทู้ดัก ที่วิวมิกซืกะมัง


ข้อความทั้งหมด

ระบบสมาชิก
ชื่อเรียก

รหัสผ่าน



สมัครสมาชิก ?
คลิกที่นี่ เพื่อลงทะเบียน.

ลืมรหัสผ่าน ?
ขอใหม่ ที่นี่.
ผู้กำลังใช้งาน
บุคคลทั่วไป: 3
ไม่มีสมาชิกขณะนี้

สมาชิกทั้งหมด: 43
ยังไม่ยืนยัน: 0
สมาชิกล่าสุด: anyka
จำนวนผู้เยี่ยมชม




82024 คน
อัลบั้มยอดฮิต
HandMade(60)
Funny(55)
Youtube(32)
Song(26)
Avatar & mascot(20)
yaranaika(17)
Comic(16)
Handmade(Fan Art)(14)
Hatsune Miku(13)
paper model(11)
rozen maiden(9)
K(7)
higurashi no naku koro ni (6)
ahe face(6)
megane(5)
Suzumiya Haruhi no Yuuutsu(5)
Yaoi(4)
Mc donald(4)
THAI FANDUB(3)
KFC(3)
Loli(3)
Rockman(2)
DJMAX(2)
Mix Artist(2)
CrossDress(2)
Lucky☆Channel(1)
Lucky☆Star(1)
Event(1)
GIF(1)
Renpy Programming การปรับแต่ง Layout หน้าจอของเกมส์ ตอนที่ 2 (load save และ yesno prompt)

โอ้ว.........ย้ากกกกกก........อ้าก...........โอ๊ย........ช่วงนี้ปวดหัวสุดๆเลยแฮะ......สวัสดีจ้าทุกท่านกลับมาอีกครั้งกับชั่วโมงเรียนวิชา Ren'py นะจ๊ะ ในคราวที่แล้วเราได้เอ่ยกล่าวกันไปถึงเรื่องของ Layout ในส่วนของ main_menu และ navigation ไปแล้วนะครับ ต่อไปในส่วนของคราวนี้เราจะมาขอเอ่ยกล่าวกันต่อในส่วนของload_save layouts และส่วนของ yesno_prompt layouts เอาล่ะเพื่อไม่ให้เสียเวลาเรามาดูกันเลยดีกว่าครับ

   load_save layouts จะเป็นในส่วนของหน้าจอตอนเวลาเราคลิ๊กขวา Save - Load เกมส์โดยที่การกำหนดรูปแบบหน้าจอของฟังก์ชั่นต่างๆนั้นค่อนข้างจะตายตัวครับ ถ้าต้องการอะไรที่มัน Free Style นั้นแนะนำให้ใช้ฟังก์ชั่น layout.imagemap_load_save ซึ่งจะอธิบายอยู่ด้านล่างครับ ในส่วนของ load_save layouts นั้นจะประกอบไปด้วยกลุ่มฟังก์ชั่นต่างๆ ดังนี้  layout.classic_load_save() เป็นฟังก์ชั่นในการกำหนดรูปแบบในการแสดงผลของหน้าจอ load_save แบบดั้งเดิม Classic ซึ่งจะมีรูปแบบมาตรฐาน ดังรูป

โดยที่เราสามารถปรับแต่งรูปร่างหน้าตาได้ซึ่งจะต้องกำหนดผ่านตัวแปรเหล่านี้
config.file_page_rows จำนวนของแถวของฺ Box ที่แสดงใน หน้า load_save โดยมีหลักการใช้งานดังนี้

         init -2 python:
                layout.classic_load_save()
                config.file_page_rows = 3 <---- จะแสดงออกมา 3 แถว

config.file_page_cols จำนวนของคอลัมของฺ Box ที่แสดงใน หน้า load_save โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
               config.file_page_rows = 3 <---- จะแสดงออกมา 3 คอลัม

config.file_quick_access_pages จำนวนหน้าใน load_save โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
                config.file_quick_access_pages = 3 <---- จะแสดงออกมา 3 หน้า

config.disable_file_pager ถ้าเป็น True จะไม่แสดงส่วนที่ใช้แสดงและเลือกหน้าของ load_save ถ้าอยากให้แสดงก็ตั้งค่าให้เป็นFalseหรือไม่ต้องใช้ฟังก์ชั่นนี้ก็ได้ โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
                config.disable_file_pager = True

config.disable_thumbnails ถ้าเป็น True จะไม่แสดงภาพหน้าหัวข้อ Save ถ้าอยากให้แสดงก็ตั้งค่าให้เป็นFalseหรือไม่ต้องใช้ฟังก์ชั่นนี้ก็ได้ โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
                config.disable_thumbnails = True

config.load_save_empty_thumbnail กำหนดรูปที่อยู่ข้างหน้าช่อง Save ที่ว่าง จะเป็น .GIF ก็ได้นะแต่มันไม่ขยับอ่ะ - -“ ถ้าไม่ต้องการให้แสดงรูปก็ใส่ค่าเป็น None ไปซะหรือไม่ก็ไม่ต้องใส่ค่าตัวแปรนี้ลงไปก็ได้ ข้อเสียเพียงอย่างเดียวของการใช้คำสั่งนี้ก็คือ มันจะไม่ยอมลดขนาดของรูปให้อ่ะนะ ซึ่งจะทำให้เกิดความผิดพลาดตอนเวลาแสดงผลได้ (เพราะภาพมันใหญ่เกิน) ดังนั้นจึงต้องตรวจสอบให้แน่ใจก่อนว่าภาพของเรานั้นมีขนาดไม่ใหญ่จนเกินไป โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
                config.load_save_empty_thumbnail = “aaaa.jpg”


config.time_format กำหนดรูปแบบการแสดงผลของเวลาทีแสดงในช่อง Save โดยFormat ค่าต่างๆมีความหมายดังนี้

%a weekday name.
%A weekday name (full).
%b month name.
%B month name (full).
%c date and time (locale)
%d day of month [01,31].
%H hour [00,23].
%I hour [01,12].
%j day of year [001,366].
%m month [01,12].
%M minute [00,59].
%p AM or PM
%S Second [00,61]
%U week of year (Sunday)[00,53].
w weekday [0(Sunday),6].
W week of year (Monday)[00,53].
x date (locale).
%X time (locale).
%y year [00,99].
%Y year [2000].
%Z timezone name.
โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
                config.time_format = "%b %d, %H:%M" <---- จะได้ว่า AUG 13 , 13:14 (เป็นค่าวันเวลาที่ Save ในขณะนั้น)


config.file_entry_format กำหนดรูปแบบในการการแสดงผลทั้งหมดในช่อง Save โดยที่ %(time)s หมายถึง Format ของเวลาที่ได้เอ่ยกล่าวไปแล้ว ส่วน%(save_name)s นั้นเป็นชื่อของ Save นั้นๆ ซึ่งจะต้องกำหนดไว้ตั้งแต่ตอนก่อน Save แล้วโดยใช้ฟังก์ชั่น renpy.save (ตรงนี้ไปดูเอง นิดเดียว) โดยปกติแล้วตรงส่วนนี้จะเหมาะสำหรับเกมส์ที่มี AutoSave น่ะเพราะเราจำเป็นที่จะต้องกำหนดชื่อการSave ไว้ด้วยหรือไม่ก็ต้องสร้างปุ่ม Save ขึ้นมาต่างหากอีกทีเพื่อเพื่อจัดการด้านข้อมูลการ Save ถ้าหากคิดไม่ได้ใช้งานอะไรขนาดนั้นตัวแปรนี้ก็ไม่จำเป็นต้องมีก็ได้
โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.classic_load_save()
               config.file_entry_format = "%(time)s\n%(save_name)s"
หมายเหตุ %n หมายถึง ขึ้นบรรทัดใหม่

layout.scrolling_load_save เป็นฟังก์ชั่นในการกำหนดรูปแบบหน้าจอ load_save เป็นรูปแบบของ scrolling area ดังรูป


โดยที่เราสามารถปรับแต่งรูปร่างหน้าตาได้ซึ่งจะต้องกำหนดผ่านตัวแปรเหล่านี้
config.thumbnail_width ขนาดความกว้างของรูปในช่อง Save
config.thumbnail_height ขนาดความกว้างของรูปในช่อง Save
โดยมีหลักการใช้งานดังนี้
    init -2 python:
                layout.scrolling_load_save()
               config.thumbnail_width = 300
               config.thumbnail_height = 300
หมายเหตุ รูปของเซฟนั้นจะอยู่ที่มุมขวาบนของหน้าจอนะครับไม่ใช่ในช่อง Save

config.load_save_slots จำนวนช่อง Save ทั้งหมดที่สามารถแสดงได้ในพื้นที่ scrolling area ช่อง Save เหล่านี้เป็นเป็นช่อง save แบบ manualนะครับ โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.load_save_slots = 50


config.load_save_auto_slots จำนวนช่อง AutoSave ทั้งหมดที่สามารถแสดงได้ในพื้นที่ scrolling area จะแสดงอยู่ในช่วงล่างๆของ Save Autosave เหล่านี้ตัวเกมส์จะทำการ Save ให้อัตโนมัติเวลาที่เรากดออกจากเกมส์ไปเฉยๆเลย ซึ่งมันจะเป็นช่อง Save ที่แยกตัวออกมาอีกทีหนึ่ง โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.load_save_auto_slots = 50


config.load_save_quick_slots จำนวนช่อง quickSave ทั้งหมดที่สามารถแสดงได้ในพื้นที่ scrolling area จะแสดงอยู่ในช่วงล่างๆของ Save quicksave แทบจะเหมือนกับ AutoSave ทุกประการต่างกันตรงที่ quicksave เราต้องเขียน function กำหนดในการ save เอง(ขอไม่อธิบายในบทนี้)แต่ autosave มันจะทำการ Save ให้อัติโนมัติเวลาออกจากเกมส์ โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.load_save_quick_slots = 50


config.load_save_empty_thumbnail กำหนดรูปของช่อง Save ที่ว่าง จะเหมือนกับของฟังก์ชั่น layout.classic_load_save()โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.load_save_empty_thumbnail = “aaaa.jpg”


config.time_format กำหนดรูปแบบการแสดงผลของเวลาทีแสดงในช่อง Save เหมือนกับของฟังก์ชั่น layout.classic_load_save()โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.time_format = "%b %d, %H:%M"


config.file_entry_format กำหนดรูปแบบในการการแสดงผลทั้งหมดในช่อง Save เหมือนกับของฟังก์ชั่น layout.classic_load_save()โดยมีหลักการใช้งานดังนี้

    init -2 python:
                layout.scrolling_load_save()
               config.file_entry_format = "%(time)s\n%(save_name)s"


layout.imagemap_load_save จากที่กล่าวมาทั้งสองฟังก์ชั่นไม่ว่าจะป็น layout.scrolling_load_save() หรือ layout.classic_load_save() ก็ยังทำได้แค่ปรับแต่งรูปแบบของมันได้เพียงเล็กน้อยเท่านั้นเนื่องจาก รูปแบบหลักๆนั้นก็ยังคงเดิมไม่สามารถปรับแต่งอะไรได้ ซึ่งต่างจากฟังก์ชั่น layout.imagemap_load_save ที่มีความยืดหยุ่นในการจัดรูปแบบหน้าตาที่สูงกว่ามากโดยหลักการใช้งานฟังก์ชั่นนี้ก็จะคล้ายๆกับ imagemap ที่เคยกล่าวกันในคราวที่แล้วน่ะแหล่ะครับ เอาล่ะมาดูกันเลยดีกว่าว่ามันปรับแต่งกันอย่างไรและต่างจากบทที่แล้วยังไง

Function: layout.imagemap_load_save (ground, idle, hover, selected_idle, selected_hover, hotspots):


เป็นฟังกชั่นที่ใช้กำหนดรูปแบบหน้าตาในส่วน Save Load เองโดย พารามิเตอร์ต่างๆมีความหมายดังนี้
ground - รูปพื้นหลังของหน้า loadsave.
idle - รูปปุ่มตอนที่ยังไม่ได้เอาเมาส์ไปวางข้างบนปุ่ม.
hover - รูปปุ่มตอนที่เอาเมาส์ไปวางข้างบนปุ่ม.
selected_idle - รูปปุ่มตอนที่ยังไม่ได้เอาเมาส์ไปวางข้างบนปุ่ม (ในกรณีที่ปุ่มนี้กำลังอ้างถึงหน้านี้อยู่)
selected_hover - รูปปุ่มตอนที่เอาเมาส์ไปวางข้างบนปุ่ม (ในกรณีที่ปุ่มนี้กำลังอ้างถึงหน้านี้อยู่)
hotspots - เป็นชุดเซ็ตของข้อมูลในการกำหนดคุณสมบัติเกี่ยวกับพื้นที่ที่เป็นปุ่มกด(จะกำหนดมีกี่ชุดก็ได้แล้วแต่ความต้องการ) ดังนี้:

(จุดซ้ายสุด,จุดบนสุด,จุดขวาสุด,จุดล่างสุด,"ชนิดของปุ่มกด")


โดยที่ชนิดของปุ่มกดก็จะมีดังนี้
    • "previous" – กลับไปหน้า Save ก่อนหน้านี้.
    • "next" – ไปยังหน้า Save หน้าถัดไป.
    • "page_auto" – ไปยังหน้าแสดง auto-save.
    • "page_quick" – ไปยังหน้าแสดง quick-save.
    • "page_1", "page_2", "page_3", ... – แสดงปุ่มหน้า Save นั้นๆ.
    • "slot_0", "slot_1", "slot_2", ... – ปุ่มแสดงช่อง Save จะเริ่มต้นที่ช่องที่ 0 .

นอกจากนี้ยังมีตัวแปรที่ใช้กำหนดรูปแบบการแสดงผลด้วยซึ่งความหมายและการใช้งานก็จะเหมือนกับของ Function layout.classic_load_save() และ layout.scrolling_load_save() เลยทีเดียวเชียว ซึ่งก็ได้แก่
config.disable_thumbnails ถ้าเป็น True จะไม่แสดงภาพหน้าหัวข้อ Save ถ้าอยากให้แสดงก็ตั้งค่าให้เป็นFalseหรือไม่ต้องใช้ฟังก์ชั่นนี้ก็ได้

config.load_save_empty_thumbnail กำหนดรูปของช่อง Save ที่ว่าง จะเหมือนกับของฟังก์ชั่น layout.classic_load_save()

config.time_format รูปแบบการแสดงผลของเวลาทีแสดงในช่อง Save เหมือนกับของฟังก์ชั่น layout.classic_load_save() config.file_entry_format กำหนดรูปแบบในการการแสดงผลทั้งหมดในช่อง Save เหมือนกับของฟังก์ชั่น layout.classic_load_save()
โดยมีหลักการใช้งาน ดังนี้

         init -2 python:
                layout.imagemap_load_save("1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", [
                  (26, 485, 168, 535, " previous "),
                  (245, 485, 410, 535, " page_1"),
                  (104, 535, 286, 589, " page_2"),
                  (675, 535, 790, 589, " next ")]
               )


yesno_prompt layouts ตรงนี้จะเป็นในส่วนของหน้าการยืนยันออกจากเกมส์ โดยในที่นี้ผมจะขอเอ่ยกล่าวแค่ฟังก์ชั่นเดียวนะครับคือ layout.imagemap_yesno_prompt

function layout.imagemap_yesno_prompt(ground, idle, hover, hotspots) เป็นฟังกชั่นที่ใช้กำหนดรูปแบบหน้าตาในส่วนการยืนยันออกจากเกมส์เองโดย พารามิเตอร์ต่างๆมีความหมายดังนี้
ground - รูปพื้นหลังของหน้า yesno_prompt.
idle – รูปปุ่มตอนที่ยังไม่ได้เอาเมาส์ไปวางข้างบนปุ่ม.
hover - รูปปุ่มตอนที่เอาเมาส์ไปวางข้างบนปุ่ม.
hotspots - เป็นชุดเซ็ตของข้อมูลในการกำหนดคุณสมบัติเกี่ยวกับพื้นที่ที่เป็นปุ่มกด(จะกำหนดมีกี่ชุดก็ได้แล้วแต่ความต้องการ) ดังนี้:

(จุดซ้ายสุด,จุดบนสุด,จุดขวาสุด,จุดล่างสุด,"ชนิดของปุ่มกด")


โดยที่ชนิดของปุ่มกดก็จะมี ‘Yes’,’No’ เท่านั้น
โดยมีหลักการใช้งาน ดังนี้

         init -2 python:
                layout.imagemap_yesno_prompt("1.jpg", "2.jpg", "3.jpg", [
                  (26, 485, 168, 535, "Yes"),
                  (245, 485, 410, 535, "No"),]
               )


โอเคครับจบไปแล้วอีกสองส่วนนะครับ ส่วนในครั้งต่อไปเดี๋ยวต้องขอถามก่อนว่าจะให้ลงเรื่องของ Ren’py ต่อรึเปล่าหรือเป็นการสอนการใช้งานเบื้องต้นของตัว VisualNovel แทน

โดย vashiya เมื่อ August 18 2009 11:43:47
(264) อ่าน  พิมพ์
© 2007 - 2010 thaiaat.com



  Powered by   powered by php-fusion v6.00.109 ฉ 2003-2005
  Theme Elephant v1.00   Design by Nick56