Raccoon Game RPG รวมพลนักพัฒนา

การเขียน Script อย่างง่ายๆ บทที่ 6 การใช้งาน when (ตัวเลือกต่างๆ)

Go down

การเขียน Script อย่างง่ายๆ บทที่ 6 การใช้งาน when (ตัวเลือกต่างๆ)

ตั้งหัวข้อ by boyhit on Wed Nov 09, 2011 9:21 am

เป็นการเรียกสคริปแล้วมีเมนูหลายๆอันให้เลือกนั่นเอง (แบบเมนูหลัก)

รูป ต.ย.เมื่อดัดแปลงเสร็จแล้วในเกมผม


ตัวสคริปก็จะประมาณนี้
Code:
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 เมนูเทเลพ็อท


ซ่อน




เครดิต : Shinryu




avatar
boyhit
Admin
Admin

ชื่อเล่น : เเอล
ความฝัน : ศิลปิน
จำนวนข้อความ : 1130
เครดิต : 3356
วันที่สมัคร : 09/10/2011
คะเเนนน้ำใจ : 11
เพศ : Male อายุ : 18
เหรียญรางวัล :

ดูข้อมูลส่วนตัว http://raccoongame-rpg.thai-forum.net

ขึ้นไปข้างบน Go down

ขึ้นไปข้างบน


 
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ