Raccoon Game RPG รวมพลนักพัฒนา
การเขียน Script อย่างง่ายๆ บทที่ 3 การเขียน Scene เมนูต่างๆ Rpgvx_1024x768b

Join the forum, it's quick and easy

Raccoon Game RPG รวมพลนักพัฒนา
การเขียน Script อย่างง่ายๆ บทที่ 3 การเขียน Scene เมนูต่างๆ Rpgvx_1024x768b
Raccoon Game RPG รวมพลนักพัฒนา
Would you like to react to this message? Create an account in a few clicks or log in to continue.

การเขียน Script อย่างง่ายๆ บทที่ 3 การเขียน Scene เมนูต่างๆ

Go down

การเขียน Script อย่างง่ายๆ บทที่ 3 การเขียน Scene เมนูต่างๆ Empty การเขียน Script อย่างง่ายๆ บทที่ 3 การเขียน Scene เมนูต่างๆ

ตั้งหัวข้อ by boyhit Mon Oct 17, 2011 1:43 am

โดยหลักๆการเขียน Scene ขึ้นมาใหม่จะมีส่วนสำคัญๆอยู่ 3 ตัวคือ

1.class -> ชื่อของ Scene ที่ต้องการ
2.main -> เป็นส่วนกำหนดว่าต้องการเรียกใช้ Window อะไรบ้าง
3.update-> เป็นส่วนให้กำหนดว่าเวลาเรากดคีย์ใดๆ แล้วจะเกิดอะไรขึ้น

ตัวอย่างการเขียน Scene ใหม่

  1. class Scene_ชื่อที่ต้องการ #ชื่อ Scene ที่ต้องการ
  2. def main
  3. s0 = "เนื้อหา 1"
  4. s1 = "เนื้อหา 2"
  5. s2 = "เนื้อหา 3"
  6. # กำหนดคอมมานว่ามีอะไรบ้าง
  7. # 200คือความกว้างWindow ส่วนเลข s0-3 คือตัวหนังสือตามที่เรากำหนด
  8. @command_window = Window_Command.new(200, [s0, s1, s2])
  9. # ตำแหน่งแกน y ของ command_window
  10. @command_window.y = 64
  11. # เรียกใช้หน้าต่าง help
  12. @note_window = Window_Help.new
  13. # เริ่มเรียกใช้ Scene และเรียก window ทั้งหมด
  14. Graphics.transition
  15. loop do
  16. Graphics.update
  17. Input.update
  18. update
  19. if $scene != self
  20. break
  21. end
  22. end
  23. Graphics.freeze
  24. #ลบ window ต่างๆเมื่อออก
  25. @command_window.dispose
  26. @note_window.dispose
  27. end #จบ main
  28. #--------------------------------------------------------------------------
  29. def update
  30. # เมื่อตำแหน่ง เคอเซอร์อยู่ที่ when ใดก็ให้โชว์ข้อความนั้นๆที่ window help
  31. case @command_window.index
  32. when 0
  33. @note_window.set_text("แสดงคำอธิบายเนื้อหา 1", 0)
  34. when 1
  35. @note_window.set_text("แสดงคำอธิบายเนื้อหา 2", 0)
  36. when 2
  37. @note_window.set_text("แสดงคำอธิบายเนื้อหา 3", 0)
  38. end
  39. #อัพเดทตำแหน่งเคอเซอร์
  40. @command_window.update
  41. # เมื่อกด X (ยกเลิก)
  42. if Input.trigger?(Input::B)
  43. # เรียกใช้เสียงเวลากด cancel
  44. $game_system.se_play($data_system.cancel_se)
  45. # ไปหน้าจอ
  46. $scene = Scene_Map.new
  47. # จบการเช็คเมื่อกด X
  48. end

  49. # เมื่อกด C (ตกลง)
  50. if Input.trigger?(Input::C)
  51. # เรียกใช้เสียงเวลากด ตกลง
  52. $game_system.se_play($data_system.decision_se)
  53. # เมื่อตำแหน่ง เคอเซอร์อยู่ที่ when ใดเวลากด C ก็ให้เกิดเหตุการณ์นั้นๆ
  54. case @command_window.index
  55. when 0
  56. เหตุการณ์ 1
  57. when 1
  58. เหตุการณ์ 2
  59. when 2
  60. เหตุการณ์ 3
  61. end
  62. # ตรงนี้อาจมีการเรียกใช้ Scene นี้อีกครั้งเพื่ออัพเดทข้อมูลหลังจากกด C
  63. $scene = Scene_ชื่อที่ต้องการ.new
  64. end
  65. end
  66. end

คัดลอกไปที่คลิปบอร์ด

loop ที่อยู่ด้านล่าง
Graphics.transition เอาไว้สำหรับตรวจเช็คว่าหน้าเมนูนั้น ๆ
ถูกโหลดขึ้นมาหรือยังน่ะครับ (ถ้าจำไม่ผิดนะ)
ถ้ายังโหลดไม่ขึ้นก็จะลูปไปเรื่อย ๆ จนกว่าจะโหลดขึ้น ถึงออกจากลูป

การเรียกใช้ window ใดๆใน Scene นี้จะไม่ยุ่งเกี่ยวกับ Scene
จึงสามารถกำหนด เพิ่ม/ลด window หรือตำแหน่งของ window ใน Scene นี้ได้เลย
เช่น

กำหนดความโปร่งใส

  1. ชื่อวินโดว์.opacity = 0 ถึง 255

คัดลอกไปที่คลิปบอร์ด

.
ตำแหน่งแกน x

  1. ชื่อวินโดว์.x = 0 ถึง 640

คัดลอกไปที่คลิปบอร์ด

.
ตำแหน่งแกน y

  1. ชื่อวินโดว์.y = 0 ถึง 480

คัดลอกไปที่คลิปบอร์ด

.
กว้างของวินโดว์

  1. @status_window.width = 0 ถึง 640

คัดลอกไปที่คลิปบอร์ด

.
ความสูงของวินโดว์

  1. @status_window.height = 0 ถึง 480

คัดลอกไปที่คลิปบอร์ด

.
โดยหลักๆคือใส่ต่อหลังจากเรียก window เรียบร้อยแล้ว
เช่นถ้าต้องการปรับความสูงของ Window_Help เป็น 64 ก็จะใส่ว่า

  1. @note_window = Window_Help.new
  2. @note_window.height = 64

คัดลอกไปที่คลิปบอร์ด
.
.
การเรียกใช้ Scene
ใช้คำสั่งเรียกใช้สคริปแล้วเรียกว่า

  1. $scene = Scene_ชื่อที่ต้องการ.new

คัดลอกไปที่คลิปบอร์ด

.
ตย.การ เรียกใช้ Scene
เนื้อหาถูกซ่อน จะแสดงได้ก็ต่อเมื่อคุณทำการแสดงความเห็น




เครดิต : Shinryu
boyhit
boyhit
Admin
Admin

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

https://raccoongame-rpg.thai-forum.net

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

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

- Similar topics

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