irpg Community
การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html)
+---- Forum: Scripting Academy (https://irpg.in.th/forum-12.html)
+---- Thread: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window (/thread-356.html)

Pages: 1 2


การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - Shinryu - 07-17-2012

[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


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - sharifyasan - 07-17-2012

เดี๋ยวนี้ลุงชินโชว์ Coding แล้วหรอครับ Oh My God!!!


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - verkant - 07-17-2012

เยี่ยมเลยครับ ผมก็ลืมไปเกือบหมดแล้ว ต้องกลับมารื้อฟื้น ขอบคุณครับ Smile


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - TheMoo2000 - 07-26-2012

จะให้แสดง HP ต้องใส่อะไรหรอครับ? (เฉพาะบรรทัด self.contents.draw_text() นะครับ)


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - suprawee - 08-02-2012

ขอบคุณค่ะ


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - kogarasu - 07-10-2013

ขอบคุณมากเลยครับ ><


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - zombe - 04-03-2015

ขอโทษนะครับ ผมมือใหม่เพิ่งเริ่มศึกษาการเขียน Script ผมลองทำตามแล้วขึ้นแบบนี้
[img][Image: 9pne6K.jpg][/img]
ต้องแก้ไข้ยังไงหรอครับ ใช้รุ่นVX Ace ครับ


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - platou18 - 04-03-2015

งมอยู่นานเหอๆ สำหรับ 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;;


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - zombe - 04-05-2015

ขอความกรุณา มือใหม่ด้วยนะครับ
ไม่ทราบว่าทำถูกมั้ย ผมพยามให้แสดงข้อความที่ แสดงจำนวนไอเทม ตามวิธีในกระทู้
[img][Image: UCtYZQ.jpg][/img]
หลังจากนั้นผมก็ใช้คำสั่ง เรียกใช้สคริป $Save = Window_NewSave.new แล้วขึ้นหน้าต่าง
[img][Image: ifmisS.jpg][/img]
ผมทำอะไรผิดหรอครับ ขอคำชี้แนะด้วยครับ..ขอบคุณครับ


RE: การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window - platou18 - 04-05-2015

#สำหรับ 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