irpg Community

Full Version: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
[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
เดี๋ยวนี้ลุงชินโชว์ Coding แล้วหรอครับ Oh My God!!!
เยี่ยมเลยครับ ผมก็ลืมไปเกือบหมดแล้ว ต้องกลับมารื้อฟื้น ขอบคุณครับ Smile
จะให้แสดง HP ต้องใส่อะไรหรอครับ? (เฉพาะบรรทัด self.contents.draw_text() นะครับ)
ขอบคุณค่ะ
ขอบคุณมากเลยครับ ><
ขอโทษนะครับ ผมมือใหม่เพิ่งเริ่มศึกษาการเขียน Script ผมลองทำตามแล้วขึ้นแบบนี้
[img][Image: 9pne6K.jpg][/img]
ต้องแก้ไข้ยังไงหรอครับ ใช้รุ่นVX Ace ครับ
งมอยู่นานเหอๆ สำหรับ 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;;
ขอความกรุณา มือใหม่ด้วยนะครับ
ไม่ทราบว่าทำถูกมั้ย ผมพยามให้แสดงข้อความที่ แสดงจำนวนไอเทม ตามวิธีในกระทู้
[img][Image: UCtYZQ.jpg][/img]
หลังจากนั้นผมก็ใช้คำสั่ง เรียกใช้สคริป $Save = Window_NewSave.new แล้วขึ้นหน้าต่าง
[img][Image: ifmisS.jpg][/img]
ผมทำอะไรผิดหรอครับ ขอคำชี้แนะด้วยครับ..ขอบคุณครับ
#สำหรับ 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
Pages: 1 2