แก้ไขครั้งสุดท้ายโดย shinryu เมื่อ 2011-11-5 22:33
เป็นการเรียกสคริปแล้วมีเมนูหลายๆอันให้เลือกนั่นเอง (แบบเมนูหลัก)
รูป ต.ย.เมื่อดัดแปลงเสร็จแล้วในเกมผม
ตัวสคริปก็จะประมาณนี้
class Scene_ชื่อที่ต้องการ
def main
@map = Spriteset_Map.new#ทำให้มองเห็นพื้นหลัง (ถ้าจะให้เป็นพื้นหลังดำๆก้ไม่ต้องใส่)
s0 = "ยังไม่กำหนด"#ตัวเลือก1
s1 = "ยังไม่กำหนด"#ตัวเลือก2
s2 = "ยังไม่กำหนด"#ตัวเลือก3
s3 = "ยังไม่กำหนด"#ตัวเลือก4
s4 = "ยังไม่กำหนด"#ตัวเลือก5
s5 = "ยังไม่กำหนด"#ตัวเลือก6
s6 = "ยังไม่กำหนด"#ตัวเลือก7
s7 = "ยังไม่กำหนด"#ตัวเลือก8
s8 = "ยังไม่กำหนด"#ตัวเลือก9
s9 = "ยังไม่กำหนด"#ตัวเลือก10
@command_window = Window_Command.new(200, [s0, s1, s2, s3, s4, s5, s6, s7, s8, s9])#จำนวนตัวเลือกที่มี(สามารถเพิ่มไปเรื่อยๆได้) 200คือความกว้าง
@command_window.x = 440#ตำแหน่งแกน x
@command_window.y = 64#ตำแหน่งแกน y
@command_window.height = 256#ความกว้างกรอบ
@command_window.opacity = 160#ความโปร่งใสของกรอบ
@note_window = Window_Help.new#เพิ่มกรอบ Help ที่ส่วนบน
@note_window.opacity = 160#ความโปร่งใส่ของ Help
@note_window.set_text("เลือกสถานที่ๆต้องการจะไป", 1)#ข้อความที่จะโชว์
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@command_window.dispose #ลบกรอบคอมมาน
@note_window.dispose #ลบกรอบ Help
@map.dispose #ลบการมองเห็นพื้นหลัง (ถ้าจะให้เป็นพื้นหลังดำๆก้ไม่ต้องใส่)
end #of def main
#--------------------------------------------------------------------------
def update#ส่วนเช็คการกดปุ่ม
@command_window.update
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)#เสียงกดยกเลิก
# Change to menu screen
$scene = Scene_Map.new#เมื่อกดยกเลิกให้กลับไปที่หน้าแม็บ
end
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)#เสียงกดตกลง
case @command_window.index#เช็คตัวเลือก
when 0 #กรณีกดตกลงที่ตัวเลือก1
เหตุการณ์ 1
when 1 #กรณีกดตกลงที่ตัวเลือก2
เหตุการณ์ 2
when 2 #กรณีกดตกลงที่ตัวเลือก3
เหตุการณ์ 3
when 3 #กรณีกดตกลงที่ตัวเลือก4 (ในที่นี้เช็คถึงอันที่4 ให้เพิ่มต่อไปเรื่อยๆเอา)
เหตุการณ์ 4
end
$scene=Scene_Map.new#ไปที่หน้าแม็บหลังผ่านเนื้อหาที่กำหนดไปแล้ว
end
end
end
นอกจากจะทำเป็นตัวเลือกแบบเป็นหัวข้อๆแล้วแล้ว ยังสามารถทำให้เช็คจากตัวเลขได้ด้วย
การทำตัวเลขแบบดูได้จาก ต.ย. ในกระทู้นี้
การเขียน Script อย่างง่ายๆ บทที่ 4 การรวม Scene กับ Window
โดยดูที่ @command_window จากนั้นก็เช็ค when เหมือนกับอันนี้
ตย.การเรียกใช้ when เมนูเทเลพ็อท
[hide]
http://www.mediafire.com/?i311746iqi0dhpx
[/hide]
เครดิต : Shinryu
[สอน] การเขียน Script อย่างง่ายๆ บทที่ 6 การใช้งาน when (ตัวเลือกต่างๆ)