ดองมาสเตอร์
Shinryu's Most Thanked Post | ||
Post Subject | Post Date/Time | Numbers of Thanks |
การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window | 07-17-2012, 08:40 PM | 17 |
Thread Subject | Forum Name | |
การเขียน Script อย่างง่ายๆ บทที่ 1 การเขียน Window |
irpg Fabella RPG Maker Academia
»
RPG Maker Engine School
Scripting Academy |
|
Post Message | ||
http://upic.me/i/u1/ss-wd.png (http://upic.me/show/30140726) โดยหลักๆการเขียน 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 -- ******************************************************* การเรียกใช้หน้าต่าง [Spoiler] สามารถให้โชว์โดยใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า Code: -- $ชื่ออะไรก็ได้ที่จำง่ายๆ = Window_ชื่อที่ตั้งไว้.new -- ถ้าอยาก ให้ลบหน้าต่างก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า Code: -- $ชื่ออะไรก็ได้ที่จำง่ายๆ.dispose -- ถ้าอยาก ให้มีการอัพเดทหน้าต่างนั้นก็ใช้คำสั่ง"เรียกใช้สคริป"แล้วใส่ว่า Code: -- $ชื่ออะไรก็ได้ที่จำง่ายๆ.refresh -- ***คำสั่ง dispose กับ refresh ห้ามใช้ก่อนการเรียกวินโดว์เป็นอันขาด***ไม่งั้นจะเออเรอร์ทันที [/Spoiler] การเอาพวกตัวหนังสือมาแสดง [Spoiler] จะใส่ว่า Code: -- self.contents.draw_text(ตำแหน่ง แกนX, ตำแหน่งแกนy, ความกว้างของตัวหนังสือ(ถ้าตัวหนังสือยาวมากต้องเพิ่มตรงนี้), ความสูงของตัวหนังสือ(ปกติเท่ากับ64), ต้อาให้แสดงอะไรตรงนี้.to_s) -- ต.ย.ถ้าอยากให้เขียนว่า "มีเงินอยู่" ก็ จะใส่ว่า Code: -- self.contents.draw_text(0, 0, 256, 64, "มีเงินอยู่") -- กรณีเป็น ตัวหนังสือที่เรากำหนดเอง (อยู่ใน"") โดยเราไม่ต้องเขียน .to_s ก็ได้ แต่ถ้าเขียนข้อความที่แปลงมาจากตัวเลข เช่น อยากให้เขียนว่า มี"ความกล้า"กับ"ตัวแปรตัวที่ 1" ก็จะเขียนว่า Code: -- self.contents.draw_text(0, 0, 256, 64, "ความกล้า"+$game_variables[1].to_s) -- [/Spoiler] มีอะไรบ้างที่เอามาแสดงได้ [Spoiler] ตัวแปร = $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 [/Spoiler] ถ้าอยากให้ตัวหนังสือชิดขวาหรืออยู่ตรงกลางทำอย่างไร [Spoiler] เพียงใส่เลขต่อท้ายเท่านั้นเอง ตรงกลาง .to_s,1 ชิดขวา .to_s,2 กรณีให้ชิดขวาหรือตรงกลาง ถ้าเราปรับความกว้างของตัวหนังสือ เราต้องต้องปรับตำแหน่งแกน X ใหม่ด้วย [/Spoiler] ถ้าอยากใส่สีให้ตัวอักษรทำอย่างไร [Spoiler] ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ยนสี Code: -- self.contents.font.color = Color.new(สีแดง, สีเขียว, สีน้ำเงิน, ความโปร่งใส่) -- สีต่างๆ และความโปร่งใส่ใส่ได้ตั้งแต่ 0-255 [/Spoiler] ถ้าอยากให้ขนาดตัวอักษรแต่ละบรรทัดไม่เท่ากันทำอย่างไร [Spoiler] 1.ไปลบ self.contents.font.size = $fontsize ตรงส่วน initialize ออก 2.ให้ ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ยนขนาด Code: -- self.contents.font.size = ขนาดที่ต้องการ(เลขเป็นตัวเต็มเท่านั้น) -- [/Spoiler] ถ้าอยากเปลื่ยนฟอนท์ในแต่ละบรรทัดจะทำอย่างไร [Spoiler] 1.ไปลบ self.contents.font.name = $fontface ตรงส่วน initialize ออก 2.ให้ใส่สคริปนี้ด้านบนของบรรทัดที่ต้องการเปลื่ยนฟอนท์ Code: -- self.contents.font.name = "ชื่อของฟอนท์" -- [/Spoiler] ถ้าอยากทำ ตัวหนา หรือ ตัวเฉียง ในแต่ละบรรทัดจะทำอย่างไร [Spoiler] ตัวหนา Code: -- self.contents.font.bold = true -- โดยเปลี่ยนคำด้านหลังคือ true(เปิด) false(ปิด) ตัวเฉียง Code: -- self.contents.font.italic = true -- โดยเปลี่ยนคำด้านหลังคือ true(เปิด) false(ปิด) [/Spoiler] ตย.การ เรียกใช้ WD http://upic.me/t/u1/ss-wd.png (http://upic.me/show/30140726) ต.ย.โชว์ชื่อฮีโร่คนแรก + ข้อความ + ตัวแปร http://www.mediafire.com/?zo2dmgwqmmh (http://www.mediafire.com/?zo2dmgwqmmh) กด Q เพิ่มเปิด/ปิด หน้าต่าง ความกล้า เครดิต : Shinryu |
Shinryu's Received and Given Thanks | ||
Thanks Received | Thanks Given | |
Last week | 0 | 0 |
Last month | 0 | 0 |
Last 3 months | 0 | 0 |
Last 6 months | 0 | 0 |
Last 12 months | 0 | 0 |
All Time | 716 | 356 |
Most thanked by | ||
LuZi | 78 | 11% |
TheMoo2000 | 59 | 8% |
[IRPG] Kuntana | 54 | 8% |
Mysticphoenix | 42 | 6% |
Muge9thD | 29 | 4% |
Most thanked | ||
LuZi | 52 | 15% |
B.o.N. | 21 | 6% |
hengmana | 20 | 6% |
Neoz Kaho | 16 | 4% |
Mysticphoenix | 15 | 4% |