Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RGSS1 บัค หลังจากพยายามปรับแต่งเมนู
#1
Question 
คือลองทดสอบใส่คำสั่งในเมนูลงไปเพิ่ม 1 คำสั่ง ทำตามกระทู้อันนี้สอนค่ะ >> การเพิ่มคำสั่งใหม่ในเมนู
พอลองทดสอบเกมปรากฏว่าเกิดบัค
1) คำสั่ง Status กดเข้าไม่ได้

2) คำสั่ง Save กับ End พอกดเข้าไปแล้วกดยกเลิกย้อนกลับมา ตัวเคอเซอร์มันจะอยู่ผิดตำแหน่ง


ควรจะแก้ยังไงดีคะ

โปรเจคที่ลองทดสอบแล้วพบปัญหา

---------------------------------

[Image: 9WMjcJUzLU_N7699IfdjuiufObo7mo1OsIawxJCf...WDcw==.png]

ขอถามเรื่องเมนูเพิ่มอีก 2 อย่างนะคะ
1) ตามรูปภาพเฉพาะในกรอบสีแดง สามารถขยับปรับตำแหน่ง X,Y ของแต่ละคำสั่งได้มั้ยคะ เพราะเท่าที่ลองผิดลองถูกเองเจอแต่ที่ปรับของ Steps, Play Time, Gold, Status Window แต่ในส่วนที่ตีกรอบสีแดงไว้หาไม่เจอ อยากจะปรับให้แต่ละคำสั่งมันวางอยู่ห่างกันมากกว่านี้

2) ปรับแต่งฟอร์นและวินโดว์สกินเฉพาะในกรอบสีแดงได้รึเปล่าคะ
[-] The following 1 user says Thank You to Last0rder for this post:
  • นิราจ
Reply
#2
ข้อ1 ข้างบน
ไปช่อง Scene_Menu บรรทัดที่ 123 ลงไป ตรง when ว่าใส่ผิดตำแหน่งรึเปล่า
Quote: when 0 # Item
when 1 # Skill
when 2 # Equipment
when 3 # Test01
when 4 # Status
when 5 # Saving
when 6 # Game end

ข้อ2 ข้างบน
ให้แก้ช่อง Scene_Save ตรง
Quote: $scene = Scene_Menu.new(4)
มีแบบนี้อยู่ 2 อัน
ให้เปลี่ยน 4 เป็น 5

และช่อง Scene_End ตรง
Quote: $scene = Scene_Menu.new(5)
ให้เปลี่ยน 5 เป็น 6


ข้อ1 ข้างล่าง มันมีให้ปรับอยู่ตรงช่อง Window_Command แต่ต้องสร้างอันใหม่นะ
ไม่งั้นอันที่เกี่ยวข้องกับมันจะเปลี่ยนไปด้วยนะ เช่น Scene_Title, Scene_End, Scene_Battle

ให้ก็อปช่อง Window_Command แล้ววางไว้ข้างล่างสร้างใหม่แก้ชื่อเป็น Window_CommandNew แล้วไปปรับ
Quote:class Window_Command < Window_Selectable
แก้เป็น
class Window_CommandNew < Window_Selectable
แล้วไปปรับแก้ข้างในตามใจชอบ

และเปลี่ยนเวลาเรียกใช้อันใหม่ ไปช่อง Scene_Menu
Quote:@command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
แก้เป็น
@command_window = Window_CommandNew.new(160, [s1, s2, s3, s4, s5, s6, s7])

ข้อ2 ข้างล่าง ตรงช่อง Window_CommandNew ที่สร้างอันใหม่
Code:
def initialize(width, commands)
    # Calculating the height of the window from the quantity of command
    super(0, 0, width, commands.size * 32 + 32)
    @item_max = commands.size
    @commands = commands
    self.contents = Bitmap.new(width - 32, @item_max * 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
    self.index = 0
  end
ปรับแต่งฟอร์นตรง
self.contents.font.name = "ชื่อฟอร์น"
self.contents.font.size = ใส่เลขขนาดลงไป
และวินโดว์สกิน เพิ่มคำสั่งนี้ลงไป
self.windowskin = RPG::Cache.windowskin("ชื่อไฟล์รูป")

ถ้าอยากปรับอะไรเพิ่มเติมอื้นๆ ให้ลองศึกษาอันนี้ดู RGSS1 การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window
[-] The following 5 users say Thank You to hengmana for this post:
  • dreamknight, jojo741963, Last0rder, slost, splendith
Reply
#3
@hengmana ขอบคุณมากเลยค่ะ ลองทำตามที่บอกมาทุกข้อแล้ว ได้ผลเกือบทุกข้อ
.... เกือบเพราะ... ยังติดบัคที่กดเข้า Status ไม่ได้ แม้ว่าจะปรับตามที่บอกแล้วก็ยังเข้าไม่ได้อยู่ดี T_T
แต่ไม่เป็นไรค่ะ มาช่วยตอบคำถาม แก้ปัญหาให้ก็ดีใจมากแล้ว >_< (ลบคำสั่งที่เพิ่มเข้ามาใหม่ก็ใช้ได้เหมือนเดิมแล้ว)
// โค้งขอบคุณงามๆ 1 ที
Reply
#4
ลองปรับ Scene_Menu บรรทัดที่ 200 กว่า ล่างสุด ตรง
when 3 # Status
แก้เป็น
when 4 # Status
หรือยังครับ
[-] The following 2 users say Thank You to hengmana for this post:
  • dreamknight, Last0rder
Reply
#5
(05-30-2015, 01:16 AM)hengmana Wrote: ลองปรับ Scene_Menu บรรทัดที่ 200 กว่า ล่างสุด ตรง
when 3 # Status
แก้เป็น
when 4 # Status
หรือยังครับ

----- Edit -----
ลืมปรับตรงแถวๆ บรรทัด 200 กว่าจริงๆ ด้วย (ก่อนหน้านี้มองแต่ when ที่อยู่ด้านบน)
แหะๆ =///=
ขอบคุณงามๆ อีกรอบค่ะ
[-] The following 1 user says Thank You to Last0rder for this post:
  • hengmana
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)