Thread Rating:
  • 3 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RGSS1 การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window
#1
[Image: ss-wd.png]

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

1.class -> ชื่อของ Window ที่ต้องการ
2.initialize -> ส่วนต่างๆของ Window เช่นความกว้าง,ยาว ฟอนท์ที่ใช้
3.refresh-> ส่วนแสดงเนื้อหา

ตัวอย่าง การเขียน Window ใหม่
Code:
class Window_ชื่อที่ต้องการ < Window_Base #ห้ามซ้ำกับชื่อ Window ทีมีอยู่แล้วไม่งั้นมันจะเรียกใช้ Window นี้แทนอันเก่า
# ------------------------
def initialize
super(ตำแหน่งแกนx, ตำแหน่งแกนy, ความกว้าง, ความสูง)
self.contents = Bitmap.new(width - 32, height - 32) #เป็นตำแหน่งแสดงตัวหนังสือ
self.opacity = 255 # ความโปร่งใสของกรอบ (ถ้าไม่อยากมีกรอบก็ตั้งเป็น 0)
self.contents.font.name = $fontface # ชนิดของฟอนท์ที่ใช้
self.contents.font.size = $fontsize # ขนาดของฟอนท์ที่ใช้
self.z = 5 #ลำดับชั้นของกรอบ (ถ้าตั้งเลขมากๆจะบังพวกกรอบเมนูหรือรูปภาพได้)
refresh
end#จบ initialize
# ------------------------
def refresh
self.contents.clear
<แสดงเนื้อหาตรงนี้>
end#จบ refresh
# ------------------------
end#จบ class

*******************************************************

การเรียกใช้หน้าต่าง
Show ContentSpoiler:
การเอาพวกตัวหนังสือมาแสดง
Show ContentSpoiler:
มีอะไรบ้างที่เอามาแสดงได้
Show ContentSpoiler:
ถ้าอยากให้ตัวหนังสือชิดขวาหรืออยู่ตรงกลางทำอย่างไร
Show ContentSpoiler:
ถ้าอยากใส่สีให้ตัวอักษรทำอย่างไร
Show ContentSpoiler:
ถ้าอยากให้ขนาดตัวอักษรแต่ละบรรทัดไม่เท่ากันทำอย่างไร
Show ContentSpoiler:
ถ้าอยากเปลื่ยนฟอนท์ในแต่ละบรรทัดจะทำอย่างไร
Show ContentSpoiler:
ถ้าอยากทำ ตัวหนา หรือ ตัวเฉียง ในแต่ละบรรทัดจะทำอย่างไร
Show ContentSpoiler:
ตย.การ เรียกใช้ WD
[Image: ss-wd.png]
ต.ย.โชว์ชื่อฮีโร่คนแรก + ข้อความ + ตัวแปร
http://www.mediafire.com/?zo2dmgwqmmh

กด Q เพิ่มเปิด/ปิด หน้าต่าง ความกล้า


เครดิต : Shinryu
[Image: 7f7cb68ce0.png][Image: rlogo.png]
Show ContentSpoiler:
Reply
#2
เดี๋ยวนี้ลุงชินโชว์ Coding แล้วหรอครับ Oh My God!!!
Reply
#3
เยี่ยมเลยครับ ผมก็ลืมไปเกือบหมดแล้ว ต้องกลับมารื้อฟื้น ขอบคุณครับ Smile
Reply
#4
จะให้แสดง HP ต้องใส่อะไรหรอครับ? (เฉพาะบรรทัด self.contents.draw_text() นะครับ)
Reply
#5
ขอบคุณค่ะ
Reply
#6
ขอบคุณมากเลยครับ ><
[Image: TdVlYb][Image: AllianceSignatureSupporter-TreasureofDragoon.png]

[Image: AllianceSignatureSupporter-RevenantGods.png]
Reply
#7
ขอโทษนะครับ ผมมือใหม่เพิ่งเริ่มศึกษาการเขียน Script ผมลองทำตามแล้วขึ้นแบบนี้
[img][Image: 9pne6K.jpg][/img]
ต้องแก้ไข้ยังไงหรอครับ ใช้รุ่นVX Ace ครับ
Reply
#8
งมอยู่นานเหอๆ สำหรับ vx เปลี่ยน

Code:
self.contents.font.name = $fontface # ชนิดของฟอนท์ที่ใช้
self.contents.font.size = $fontsize # ขนาดของฟอนท์ที่ใช้

เป็น

Code:
self.contents.font.name = Font.default_name # ชนิดของฟอนท์ที่ใช้
self.contents.font.size = Font.default_size # ขนาดของฟอนท์ที่ใช้

นะคัฟ ;; w;;
ขอโต๊ดกั๊บ
[Image: 76561198060790174.png] [Image: 0a851ef42f.gif]
Reply
#9
ขอความกรุณา มือใหม่ด้วยนะครับ
ไม่ทราบว่าทำถูกมั้ย ผมพยามให้แสดงข้อความที่ แสดงจำนวนไอเทม ตามวิธีในกระทู้
[img][Image: UCtYZQ.jpg][/img]
หลังจากนั้นผมก็ใช้คำสั่ง เรียกใช้สคริป $Save = Window_NewSave.new แล้วขึ้นหน้าต่าง
[img][Image: ifmisS.jpg][/img]
ผมทำอะไรผิดหรอครับ ขอคำชี้แนะด้วยครับ..ขอบคุณครับ
Reply
#10
#สำหรับ VX ผมขอความกรุณา มือใหม่เรื่อง rgss3 เหมือนกัน อาจมีถูกมีผิดบ้างนะเหอๆ
ตรงฟ้อนนี่ผิดแฮะ

Code:
self.contents.font.name = Font.default_name # ชนิดของฟอนท์ที่ใช้

ชื่อฟ้อนให้ใส่เป็นสตริงนะ เช่นถ้าจะใช้ฟ้อน Cordia New ก็เป็น

Code:
self.contents.font.name = "Cordia New" # ชนิดของฟอนท์ที่ใช้

และถ้าจะใช้แสดงตัวแปลต้องคอนเวิร์ดตัวแปรให้เป็นสตริงด้วย .to_s

เช่น จะใช้ตัวแปร $game_variables[1] จะเป็น

Code:
self.contents.draw_text(0, 0, 256, 64, "Save"+$game_variables[1].to_s)

ปล.มาคุยกันที่หน้าแชทบอร์ดก็ได้นะ ;; w;;7
ขอโต๊ดกั๊บ
[Image: 76561198060790174.png] [Image: 0a851ef42f.gif]
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)