โดยหลักๆการเขียน Scene ขึ้นมาใหม่จะมีส่วนสำคัญๆอยู่ 3 ตัวคือ
1.class -> ชื่อของ Scene ที่ต้องการ
2.main -> เป็นส่วนกำหนดว่าต้องการเรียกใช้ Window อะไรบ้าง
3.update-> เป็นส่วนให้กำหนดว่าเวลาเรากดคีย์ใดๆ แล้วจะเกิดอะไรขึ้น
ตัวอย่างการเขียน Scene ใหม่
Code:
class Scene_ชื่อที่ต้องการ #ชื่อ Scene ที่ต้องการ
def main
# กำหนดช้อยส์คอมมานที่จะให้เลือกว่ามีอะไรบ้าง โดยเพิ่มเลขหลัง s ไปเรื่อยๆ
s0 = "เนื้อหาที่จะโชว์ 1"
s1 = "เนื้อหาที่จะโชว์ 2"
s2 = "เนื้อหาที่จะโชว์ 3"
# 200คือความกว้างWindow ส่วนเลข s0-3 คือตัวหนังสือตามที่เรากำหนด
@command_window = Window_Command.new(200, [s0, s1, s2])
# ตำแหน่งแกน y ของ command_window
@command_window.y = 64 #เลือนกรอบลงมา 64พิคเซคเพื่อเหลือพื้นที่ใ้ห้ช่อง Help
# เรียกใช้หน้าต่าง help
@note_window = Window_Help.new
# เริ่มเรียกใช้ Scene และเรียก window ทั้งหมด
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
#ลบ window ต่างๆเมื่อออกจาก Scene
@command_window.dispose
@note_window.dispose
end #จบ main
#--------------------------------------------------------------------------
def update
# เมื่อตำแหน่ง เคอเซอร์อยู่ที่ when ใดก็ให้โชว์ข้อความนั้นๆที่ window help
case @command_window.index
when 0
@note_window.set_text("แสดงคำอธิบายเนื้อหา 1", 0)
when 1
@note_window.set_text("แสดงคำอธิบายเนื้อหา 2", 0)
when 2
@note_window.set_text("แสดงคำอธิบายเนื้อหา 3", 0)
end
#อัพเดทตำแหน่งเคอเซอร์
@command_window.update
# เมื่อกด X (ยกเลิก)
if Input.trigger?(Input::B)
# เรียกใช้เสียงเวลากด cancel
$game_system.se_play($data_system.cancel_se)
# ไปหน้าจอ
$scene = Scene_Map.new
# จบการเช็คเมื่อกด X
end
# เมื่อกด C (ตกลง)
if Input.trigger?(Input::C)
# เรียกใช้เสียงเวลากด ตกลง
$game_system.se_play($data_system.decision_se)
# เมื่อตำแหน่ง เคอเซอร์อยู่ที่ when ใดเวลากด C ก็ให้เกิดเหตุการณ์นั้นๆ
case @command_window.index
when 0
เหตุการณ์ 1
when 1
เหตุการณ์ 2
when 2
เหตุการณ์ 3
end
# ตรงนี้อาจมีการเรียกใช้ Scene นี้อีกครั้งเพื่ออัพเดทข้อมูลหลังจากกด C
$scene = Scene_ชื่อที่ต้องการ.new
end
end
end
การเรียกใช้ window ใดๆใน Scene นี้ จะไม่ยุ่งเกี่ยวกับ window เดียวกันในหน้าต่างอื่น
จึงสามารถกำหนด เพิ่ม/ลด window หรือตำแหน่งของ window ใน Scene นี้ได้เลย เช่น
Spoiler:
Spoiler:
Spoiler:
Spoiler:
ตย.การ เรียกใช้ Scene
ต.ย.เมนูเปลี่ยนฟอนท์ระหว่างเล่น
http://www.mediafire.com/?mxmn0xygixj
เครดิต : Shinryu
การทำพื้นหลังเลื่อนไว้บทในบทการอัพเดทวินโดว์ละกัน