โดยหลักๆการเขียน Window ขึ้นมาใหม่จะมีส่วนสำคัญๆอยู่ 3 ตัวคือ
1.class -> ชื่อของ Window ที่ต้องการ
2.initialize -> ส่วนต่างๆของ Window เช่นความกว้าง,ยาว ฟอนท์ที่ใช้
3.refresh-> ส่วนแสดงเนื้อหา
ตัวอย่าง การเขียน Window ใหม่
การเรียกใช้หน้าต่าง
[hide]
สามารถให้โชว์โดยใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
ถ้าอยาก ให้ลบหน้าต่างก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
ถ้าอยาก ให้มีการอัพเดทก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
***คำสั่ง dispose กับ refresh ห้ามใช้ก่อนการเรียกวินโดว์เป็นอันขาด***
[/hide]
.
การเอาพวกตัวหนังสือมาแสดง
[hide]
จะ ใส่ว่า
ถ้าอยากให้เขียนว่า "มีเงินอยู่"
ก็ จะใส่ว่า
หรือถ้าอยากให้เขียนว่า มี"ความกล้า"กับ"ตัวแปรตัวที่ 1" ก็จะเขียนว่า
.
มีอะไรบ้างที่เอามาแสดงได้
[hide]
ตัวแปร = $game_variables[x].to_s
ชื่อฮีโร่คนแรกในกลุ่ม = $game_party.actors[0].name.to_s
ชื่อฮีโร่คนแรกในฐานข้อมูล = $game_actors[1].name.to_s
(ถ้าอยากให้แสดงค่าสแตตัสต่างๆก็ไปเปลื่ยนตรง name เป็นอย่างอื่น เช่น พลัง(str) ฉลาด(int) แทน)
ชื่อของไอเทม IDที่x= $data_items[x].name
จำนวนของไอเทม IDที่x = $game_party.item_number(x)
(ถ้าอยากให้เปลื่ยนเป็นอาวุธหรือเกราะก็ไปเปลื่ยนตรง item เป็นอย่างอื่น เช่น อาวุธ(weapon) เกราะ(armor) แทน)
จำนวนเงินที่มี = $game_party.gold.to_s
จำนวนก้าวเดิน = $game_party.steps.to_s
[/hide]
.
ถ้าอยากให้ตัวหนังสือชิดขวาหรืออยู่ตรงกลางทำอย่างไร
[hide]
เพียงใส่เลขต่อท้ายเท่านั้นเอง
ตรงกลาง
.to_s,1
ชิดขวา
.to_s,2
[/hide]
.
ถ้าอยากใส่สีให้ตัวอักษรทำอย่างไร
[hide]
ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ย นสี
[/hide]
.
ถ้าอยากให้ขนาดตัวอักษรแต่ละบรรทัดไม่เท่ากันทำอย่างไร
[hide]
1.ไปลบ self.contents.font.size = $fontsize ตรงส่วน initialize ออก
2.ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ย นขนาด
.
ถ้าอยากเปลื่ยนฟอนท์ในแต่ละบรรทัดจะทำอย่างไร
[hide]
1.ไปลบ self.contents.font.name = $fontface ตรงส่วน initialize ออก
2.ให้ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ยนฟอนท์
ตย.การ เรียกใช้ WD
[hide]
http://www.mediafire.com/?zo2dmgwqmmh
[/hide]
Special Thank : shinryu
1.class -> ชื่อของ Window ที่ต้องการ
2.initialize -> ส่วนต่างๆของ Window เช่นความกว้าง,ยาว ฟอนท์ที่ใช้
3.refresh-> ส่วนแสดงเนื้อหา
ตัวอย่าง การเขียน Window ใหม่
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
.การเรียกใช้หน้าต่าง
[hide]
สามารถให้โชว์โดยใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
$ชื่ออะไรก็ได้ที่จำง่ายๆ = Window_ชื่อที่ตั้งไว้.new
.ถ้าอยาก ให้ลบหน้าต่างก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
$ชื่ออะไรก็ได้ที่จำง่ายๆ.dispose
.ถ้าอยาก ให้มีการอัพเดทก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า
$ชื่ออะไรก็ได้ที่จำง่ายๆ.refresh
.***คำสั่ง dispose กับ refresh ห้ามใช้ก่อนการเรียกวินโดว์เป็นอันขาด***
[/hide]
.
การเอาพวกตัวหนังสือมาแสดง
[hide]
จะ ใส่ว่า
self.contents.draw_text(ตำแหน่ง แกนX, ตำแหน่งแกนy, ความกว้างของตัวหนังสือ(ถ้าตัวหนังสือยาวมากต้องเพิ่มตรงนี้), ความสูงของตัวหนังสือ(ปกติเท่ากับ64), ต้อาให้แสดงอะไรตรงนี้.to_s)
ต.ย.ถ้าอยากให้เขียนว่า "มีเงินอยู่"
ก็ จะใส่ว่า
self.contents.draw_text(0, 0, 256, 64, "มีเงินอยู่")
กรณีเป็น ตัวหนังสือที่เรากำหนดเอง (อยู่ใน"") ไม้ต้องเขียน .to_s ก็ได้หรือถ้าอยากให้เขียนว่า มี"ความกล้า"กับ"ตัวแปรตัวที่ 1" ก็จะเขียนว่า
self.contents.draw_text(0, 0, 256, 64, "ความกล้า"+$game_variables[1].to_s)
[/hide].
มีอะไรบ้างที่เอามาแสดงได้
[hide]
ตัวแปร = $game_variables[x].to_s
ชื่อฮีโร่คนแรกในกลุ่ม = $game_party.actors[0].name.to_s
ชื่อฮีโร่คนแรกในฐานข้อมูล = $game_actors[1].name.to_s
(ถ้าอยากให้แสดงค่าสแตตัสต่างๆก็ไปเปลื่ยนตรง name เป็นอย่างอื่น เช่น พลัง(str) ฉลาด(int) แทน)
ชื่อของไอเทม IDที่x= $data_items[x].name
จำนวนของไอเทม IDที่x = $game_party.item_number(x)
(ถ้าอยากให้เปลื่ยนเป็นอาวุธหรือเกราะก็ไปเปลื่ยนตรง item เป็นอย่างอื่น เช่น อาวุธ(weapon) เกราะ(armor) แทน)
จำนวนเงินที่มี = $game_party.gold.to_s
จำนวนก้าวเดิน = $game_party.steps.to_s
[/hide]
.
ถ้าอยากให้ตัวหนังสือชิดขวาหรืออยู่ตรงกลางทำอย่างไร
[hide]
เพียงใส่เลขต่อท้ายเท่านั้นเอง
ตรงกลาง
.to_s,1
ชิดขวา
.to_s,2
[/hide]
.
ถ้าอยากใส่สีให้ตัวอักษรทำอย่างไร
[hide]
ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ย นสี
self.contents.font.color = Color.new(สีแดง, สีเขียว, สีน้ำเงิน, ความโปร่งใส่)
สีต่างๆ และความโปร่งใส่ใส่ได้ตั้งแต่ 0-255[/hide]
.
ถ้าอยากให้ขนาดตัวอักษรแต่ละบรรทัดไม่เท่ากันทำอย่างไร
[hide]
1.ไปลบ self.contents.font.size = $fontsize ตรงส่วน initialize ออก
2.ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ย นขนาด
self.contents.font.size = ขนาดที่ต้องการ(เลขเป็นตัวเต็มเท่านั้น)
[/hide].
ถ้าอยากเปลื่ยนฟอนท์ในแต่ละบรรทัดจะทำอย่างไร
[hide]
1.ไปลบ self.contents.font.name = $fontface ตรงส่วน initialize ออก
2.ให้ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ยนฟอนท์
self.contents.font.name = "ชื่อของฟอนท์"
[/hide]ตย.การ เรียกใช้ WD
[hide]
http://www.mediafire.com/?zo2dmgwqmmh
[/hide]
Special Thank : shinryu
[สอน] การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window