สวัสดีครับ วันนี้ผมชารีฟอย่าสั้น, หญ้าสานบลาๆแล้วแต่จะเรียกนั้นจะมาสอนพื้นฐานของ
"สวิตช์" (Switch) กันน่ะครับ...เพื่อเป็นแนวทางในการเริ่มเขียนเกมด้วย Rpg Maker ของสมาชิกหรือหลายๆคนที่เพิ่งเริ่มจับโปรแกรมกันน่ะครับ
*อนึ่งคือบทความนี้เป็นการสอนแบบ "พื้นฐาน" ย้ำน่ะครับว่า "พื้นฐาน" หรือ "ขั้นเบื้องต้น" และสามารถนำไปประยุกต์ใช้ต่อได้อีกหลายรูปแบบครับ
อันดับแรกเรามาเข้าใจกันก่อนครับว่า "สวิตช์" คืออะไร?...พูดคำนี้แล้วหลายๆคนอาจจะนึกถึง สวิตช์เปิด-ปิดไฟ, สวิตช์เปิด-ปิดเครื่องใช้ไฟฟ้าต่างๆ ซึ่งก็ไม่ผิดครับผม. ในโปรแกรม Rpg Maker นั้นเจ้าสวิตช์นี้ยังทำหน้าที่เป็นคำสั่งที่คล้ายๆกับการเปิด-ปิดไฟอีกเช่นกันครับ โดยสวิตช์นี้จะทำงานเป็นการเปิดคำสั่งหน้าอีเว้น
(Event) หน้าอื่นๆ, หรือเปิดการใช้งานคำสั่งอื่นๆ เอาเป็นว่าผมขอยกตัวอย่างเกมสักเกมหนึ่งให้ดูละกันครับ
ขอยกตัวอย่างเกมอมตะชื่อก้องโลกและเกมในตำนานอย่างเกม "คอนทร้า"
(Contra) ละกันครับ...ยกตัวอย่างเวลาเราเก็บไอเทมปืนต่างๆได้ เช่น ปืน S, ปืน F ที่จะมีรูปแบบการโจมตีแตกต่างกันไปนั้นแหละครับ สวิตช์ก็จะทำงานในส่วนนี้เหมือนกัน เช่น เมื่อเริ่มเกมมาเราจะใช้ปืนธรรมดาอยู่หรือปืนดั่งเดิม แต่เมื่อเราเดินๆอยู่แล้วเก็บปืน S ได้นั้น...เราจะเปลี่ยนไปใช้ ปืน S ทันที! ซึ่งหลักการง่ายๆก็คือเมื่อเก็บปืน S ได้นั้น ก็จะเป็นการเปิดสวิตช์ "ปืน S" ให้คำสั่งประมวลผลว่า "ผู้เล่นเปลี่ยนไปใช้ปืน S" หรือเมื่อเราเดินๆอยู่แล้วไปเจอปืน F ต่อแล้วเมื่อเก็บก็จะ "เปิดสวิตช์ปืน F" นั้นเองครับ
ทีนี้เรามาดูการใช้สวิตช์ในรูปแบบของ Rpg Maker กันบ้างดีกว่าครับ...อนึ่งคือบทความนี้ไม่จำกัดว่าเราจะใช้ Rpg Maker เวอร์ชั่นอะไรน่ะครับ เพราะสามารถใช้ได้ทุกเวอร์ชั่น
เริ่มแรกครับเราดับเบิ้ลคลิกที่ Map Editor ก่อนเพื่อสร้างอีเว้นหรือเหตุการณ์ว่างเปล่าขึ้นมาก่อนครับ
จากนั้นดับเบิ้ลคลิกที่หน้าอีเว้นเปล่าๆต่อ
ก็จะขึ้นโชว์คำสั่งต่างๆมากมายมาให้เราใช้ครับโดยคำสั่ง
"ควบคุมสวิตช์" (Control Switches) นั้นใน Rpg Maker หลายๆเวอร์ชั่นนั้นจะอยู่ในหน้าที่ 1 ครับ เมื่อคลิกแล้วก็จะขึ้นหน้าต่างการใช้งานคำสั่งสวิตช์นี้ขึ้นมาให้เรา
เมื่อเลือกคำสั่งควบคุมสวิตช์แล้วก็จะได้หน้าต่างดังนี้ครับ
อธิบายทีละบรรทัดน่ะครับ
1. Single เป็นการใช้งานสวิตช์ตัวเดียวเท่านั้น
2. Batch เป็นการใช้งานสวิตช์หลายตัว
3. Operation เป็นคำสั่งให้เราเลือกว่าจะ "เปิด" หรือ "ปิด" สวิตช์ที่เราต้องการ
ในส่วนของ Single นั้นเมื่อเราคลิกเข้าไปแล้วจะสามารถกำหนดชื่อสวิตช์ได้ตามต้องการครับ หรือจะเพิ่ม Max Limit ก็ได้เช่นกันครับ...โอเคเรามาลองทำการใช้งานสวิตช์กันสักหน่อยดีกว่าครับ. อันดับแรกเราตั้งชื่อสวิตช์ ID หมายเลข 1 กันก่อน...ผมจะขอตั้งเป็นชื่อว่า
"irpg_test" ละกันน่ะครับ จากนั้นกด Apply แล้วก็กด Cancel ไปก่อนน่ะครับเพราะว่าเรายังไม่ได้ใช้งานตอนนี้.
จากนั้นเราก็มาเซตหน้าอีเว้นกันก่อน โดยเราจะเลือกตัวละครเป็นตัวอะไรก็ได้น่ะครับ. จากนั้นก็เลือกคำสั่ง
"แสดงข้อความ" (Show Text) แล้วก็ใส่ประโยคอะไรก็ได้ไปก่อนครับ เช่น
"Good Day irpg!"
โอเคครับเมื่อเราใส่ข้อความไปแล้วจากนั้นก็เปิดคำสั่ง "ควบคุมสวิตช์" แล้วเลือกใช้สวิตช์ตัวที่เราตั้งชื่อไว้ก็คือ irpg_test กันเลยครับ
จากนั้นเราก็กด
Copy Event Page และจากนั้นก็กด
Patse Event Page เลยครับ...โดยที่เราต้องเซตให้อีเว้นหน้านี้ทำงานก็ต่อเมื่อ "สวิตช์ irpg_test ทำงานก่อน" นั้นเองครับ
เมื่อเซตเรียบร้อยแล้วเราก็มาแก้ไขข้อความกันให้เป็นข้อความอื่น ในที่นี้เราจะแก้เป็นข้อความ "swtich on" ละกันครับ
จากนั้นก็ทำการรันทดสอบเกมได้เลยครับ...จะสังเกตุได้ว่าเมื่อเรากดปุ่ม c พูดคุยกับตัวละครนั้น เมื่อคุยครั้งแรกตัวละครจะคุยกับเราว่า "Good Day irpg!" แต่หลังจากกดคุยอีกครั้งตัวละครจะคุยกับเราว่า "swtich on" ซึ่งจะอธิบายให้เข้าใจง่ายๆน่ะครับ.
ดูจากคำสั่งที่เราได้เขียนลงไปแล้ว 2 คำสั่งก็คือ "แสดงข้อความ" กับ "ควบคุมสวิตช์" ซึ่งลำดับขั้นตอนจะเป็นดังนี้ครับ
1. แสดงข้อความ "Good Day irpg!"
2. เปิดสวิตช์ ID หมายเลข 1
เมื่อคุยกับอีเว้นครั้งที่ 1
เมื่อคุยกับอีเว้นครั้งที่ 2
ซึ่งเมื่อสวิตช์หมายเลข 1 ถูกเปิดแล้วอีเว้นทุกอีเว้นที่มีการเช็คเงื่อนไขการเริ่มเหตุการณ์ด้วยสวิตช์หมายเลข 1 ไว้จะทำงานหน้าอีเว้นนั้นๆทันทีครับ ซึ่งจากที่เราลองกันเมื่อสักครู่...ในหน้าที่ 2 ของอีเว้นนั้นเราได้ทำการเซตเงื่อนไขเหตุการณ์ให้เริ่มได้ก็ต่อเมื่อเปิดสวิตช์ไว้ เพราะงั้นเมื่อเรากลับมาคุยกับอีเว้นอีกครั้ง...ก็จะกลายเป็นว่าตัวอีเว้นจะรันหน้าที่ 2 ที่มีสวิตช์เปิดไว้แล้วนั้นเองครับ และคำสั่งในหน้านั้นก็จะถูกสั่งให้รันด้วยเมื่อเรากดคุยกับอีเว้นอีกครั้งครับ
นี้แหละครับการทำงานของสวิตช์แบบง่ายๆอย่างหนึ่ง...คิดว่าคงไม่หน้ายากเกินไปสำหรับสมาชิกใหม่ที่เพิ่งจับโปรแกรม Rpg Maker น่ะครับ สำหรับใครที่มีคำถามสงสัยอะไรก็แล้วแต่สามารถถามกันได้น่ะครับ ถ้าผมตอบได้ยินดีจะตอบให้ :"D
***ห้ามคัดลอกหรือนำไปเผยแพร่ที่อื่นก่อนได้รับอนุญาตจาก sharifyasan หรือ Jacobo ก่อนเป็นอันขาด***
Last Update : 13/07/2012