05-25-2014, 06:08 PM
สำหรับ Visual Novel แนว Simulator
เพื่อสร้างอารมณ์ร่วมในการสวมบทบาท หลายๆเกมส์มักจะมอบโอกาสให้ผู้เล่นตั้งชื่อตัวละครเองได้
ฉะนั้น เราก็จะเห็นตัวละครสาวน่ารักเรียกชื่อเราเช่น "นายจะบ้าเหรอ! 'สมศักดิ์' อย่าได้เข้าใจผิดเชียวนะ!" เป็นต้น
วันนี้เราจะมาสอนวิธีการทำแบบนั้นใน Ren'Py โปรแกรมVN Engineยอดนิยมกัน
ก่อนอื่นก็เปิดไฟล์script.rpyขึ้นมา ด้วยโปรแกรมอะไรก็ได้ตามสะดวก ส่วนของผมใช้ jedit ล่ะ
จากนั้น ก็เริ่มต้นด้วยการ define ตัวละครขึ้นมาก่อน ให้มาเริ่มที่ส่วนประกาศ เหนือ label start
แล้วก็เขียนโค้ดดังนี้ลงไปในส่วนของตัวเกมส์
เสร็จแล้วครับ ไม่ยากเลยใช่ไหม ทีนี้คำว่า my_name ทุกคำในเกมส์ของคุณก็จะใช้แทนชื่อตัวละครหลักไปตลอด
เวลาจะใช้ในเกมส์ก็ให้ทำอย่างนี้
พอลองเริ่มเกมส์มา ตัวละครที่คุณ define ไว้ คือ m = my name ก็จะพูดว่า "ผมชื่อ สมศักดิ์!"
วิธีตั้งชื่อนี้สามารถใช้กับตัวแปรอะไรก็ได้ตามต้องการนะครับ หากคุณอยากให้ผู้เล่นตั้งชื่อแมว ชื่อหมา ชื่อแฟน ชื่อพ่อแม่ ก็ให้ประกาศตัวแปรอีกอันแทน my_name แล้วทำตามแบบวิธีข้างต้นโดยเปลี่ยน my_name เป็นตัวแปรอื่นตามใจชอบได้เลย
เอาละ! Lesson Complete
หวังว่าบทความนี้คงจะประโยชน์ให้แก่ผู้สนใจเอนจิ้นเรนปี้ไม่มากก็น้อยนะครับ
โอกาสหน้าพบกันใหม่ เมี้ยว
เพื่อสร้างอารมณ์ร่วมในการสวมบทบาท หลายๆเกมส์มักจะมอบโอกาสให้ผู้เล่นตั้งชื่อตัวละครเองได้
ฉะนั้น เราก็จะเห็นตัวละครสาวน่ารักเรียกชื่อเราเช่น "นายจะบ้าเหรอ! 'สมศักดิ์' อย่าได้เข้าใจผิดเชียวนะ!" เป็นต้น
วันนี้เราจะมาสอนวิธีการทำแบบนั้นใน Ren'Py โปรแกรมVN Engineยอดนิยมกัน
ก่อนอื่นก็เปิดไฟล์script.rpyขึ้นมา ด้วยโปรแกรมอะไรก็ได้ตามสะดวก ส่วนของผมใช้ jedit ล่ะ
จากนั้น ก็เริ่มต้นด้วยการ define ตัวละครขึ้นมาก่อน ให้มาเริ่มที่ส่วนประกาศ เหนือ label start
Code:
#การประกาศตัวแปรชื่อ สามารถเปลี่ยน m กับ my_name ได้ตามใจชอบ
define m = DynamicCharacter('my_name', color="#ff0100")
Code:
label start:
#การตั้งชื่อตัวละคร my_name สามารถเปลี่ยนได้ตามใจชอบ คุณอาจจะเลือกคำอื่นๆเช่น player แทนตัวแปรได้ ทั้งนี้จะต้องเป็นคำเดียวกันกับคำที่คุณประกาศตัวแปรไว้ก่อนหน้านี้นะ
$ my_name = renpy.input("โปรดตั้งชื่อตัวละครของคุณ")
$ my_name = my_name.strip()
#ส่วนตรงนี้ ในกรณีที่ผู้เล่นไม่ใส่ชื่อตัวละคร เราจะตั้งชื่อตัวละครแบบdefaultไว้ด้วย
if my_name == "":
$ my_name="สมศักดิ์"
เสร็จแล้วครับ ไม่ยากเลยใช่ไหม ทีนี้คำว่า my_name ทุกคำในเกมส์ของคุณก็จะใช้แทนชื่อตัวละครหลักไปตลอด
เวลาจะใช้ในเกมส์ก็ให้ทำอย่างนี้
Code:
m "ผมชื่อ %(my_name)s!"
พอลองเริ่มเกมส์มา ตัวละครที่คุณ define ไว้ คือ m = my name ก็จะพูดว่า "ผมชื่อ สมศักดิ์!"
วิธีตั้งชื่อนี้สามารถใช้กับตัวแปรอะไรก็ได้ตามต้องการนะครับ หากคุณอยากให้ผู้เล่นตั้งชื่อแมว ชื่อหมา ชื่อแฟน ชื่อพ่อแม่ ก็ให้ประกาศตัวแปรอีกอันแทน my_name แล้วทำตามแบบวิธีข้างต้นโดยเปลี่ยน my_name เป็นตัวแปรอื่นตามใจชอบได้เลย
เอาละ! Lesson Complete
หวังว่าบทความนี้คงจะประโยชน์ให้แก่ผู้สนใจเอนจิ้นเรนปี้ไม่มากก็น้อยนะครับ
โอกาสหน้าพบกันใหม่ เมี้ยว