nooknazha โพสต์ 2018-5-23 20:57:05

[Renpy] 12. การ Input Name User (รับค่าตัวแปร ชื่อผู้เล่น)

แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-5-23 21:03

12. การInput Name User (รับค่าตัวแปร ชื่อผู้เล่น)

สำหรับโค๊ดที่ใช้ input ชื่อผู้เล่นจะเขียนได้หลายแบบนะค่ะ คงไม่ยกมาทั้งหมดเพราะแล้วแต่ว่าจะเขียนแบบไหนมันพลิกแพลงได้


ตัวอย่างแรกกำหนดตัวแปรที่จะ input ชื่อผู้เล่นให้เป็นแบบ DynamicCharacter(ชื่อคาแรคเตอร์สามารถแก้ไขเปลี่ยนแปลงได้)#ประกาศตัวแปร ตัวละคร
define k = DynamicCharacter('player_name', color="#ff0000")
ตรงค่ำว่า player_name เราจะตั้งชื่อว่าอะไรก็ได้ตัวแปรนี้จะถูกนำมาใช้อ้างอิงในคำสั่ง input ต่อจาก Labelstart ไปแล้วค่ะ ดูคำสั่งต่อไปกันเลย# เริ่มเกมส์

label start:
   #
    $ player_name = renpy.input("(กรุณาพิมพ์ชื่อของคุณ และกดปุ่ม Enter)")
    $ player_name = player_name.strip()
   
#ใช้ตรวจเช็คว่าได้พิมพ์ชื่อลงไปหรือไม่
    if player_name == "":
      $ player_name= "วิชชุดา" #ถ้าผู้เล่นไม่ยอมพิมพ์ชื่อ โปรแกรมจะตั้งชื่อว่า วิชชุดา ให้แทน
      
    "ชื่อของฉันคือ!!"
    return
จากตัวอย่างข้างบน เราจะกำหนดเงื่อนไข เพื่อเช็คว่าถ้า ผู้เล่นหรือ User ไม่ยอมพิมพ์ชื่อใดๆลงไปปล่อยให้เป็นช่องว่าง โปรแกรมจะตั้งชื่อ...ให้แทนอัตโนมัติ

อีกตัวอย่างค่ะ
define k = DynamicCharacter('player_name', color="#ff0000")

label start:

$ player_name = renpy.input("กรุณาบอกชื่อของคุณด้วยค่ะ?", "วิชชุดา", length=20)

"ชื่อของฉันคือ%(player_name)s."   

return
อันนี้เราจะกำหนดชื่อมาให้เลยถ้าจะใช้ชื่อวิชชุดาก็ให้กดปุ่ม Enterผ่านไป ถ้าแต่อยากเปลี่ยน ก็ลบทิ้งและพิมพ์ชื่อใหม่ลงไปแทน ค่ะ
ตรง...

"length=20" หมายถึงจำนวนตัวอักษรที่จะพิมพ์คำลงไปได้ ไม่ให้เกินกว่านี้

และตรง...
"ชื่อของฉันคือ %(player_name)s."
จะเป็นคำสั่งที่จะให้แสดงชื่อของตัวผู้เล่น หรือชื่อของตัวละครอื่นในเกมส์ตัวอักษร "S" ต่อท้ายมีความหมายว่า ตัวแประนี้เป็นประเภท String(Text ข้อความ ตัวอักษรและพยัญชนะ ที่ไม่สามารถนำมาคำนวณค่าทางคณิตศาสตร์ได้)ค่ะ

ว่าแล้วก็ลองทำเลยล่ะกัน อยากใส่อะไรเพิ่มอะไร ก็ใส่ไปโล๊ด(คำสั่งต่างๆ อย่างใส่เพลง ใส่ภาพ มีอธิบายในบทความก่อนหน้าแล้วนะค่ะ )

บันทึกไฟล์ แล้วรันโปรแกรมดูผลลัพธ์กัน


มันจะเป็นช่องว่างมาแบบนี้ค่ะ ให้ผู้เล่นพิมพ์ชื่อที่ต้องการลงไป


เอาชื่อตัวเองนี่แหล่ะ หุหุ และกดปุ่ม Enter


ปล. สมัยที่เรียน ปวช. ก็เคยมีความคิดว่าอยากจะทำเกมส์แบบนี้อยู่เหมือนกันแต่หาคนสอนไม่ได้ กดเก็บๆๆๆ

แต่ทว่าในปัจจุบันกลับกลายเป็นว่าทำได้... แต่... 1. ไม่ค่อยมีเวลา 2. ขี้เกียจเขียนบท 3.ไม่รู้จะทำไปทำไม -*- แป่ว

คือมันต้องใช้เวลามากในการทำถ้าเราจะทำจริงๆคิดว่า 2 ปีน่าจะเสร็จ (วาดภาพเอง(ตัวผลาญเวลาเลย ภาพตัวละคร 1ภาพ ใช้เวลาเร็วสุด 2 วัน ต้องใช้ประมาณ 20 ภาพ ภาพฉากใช้เวลา 5 วันต่อภาพ ต้องวาดประมาณ 15ภาพขึ้นไป วาดไม่สวยลบทิ้งวาดใหม่จนกว่าจะสวย อ่ะนะ -*-(นิสัยเสีย)) + เขียนโปรแกรมเอง +แต่งบทเนื้อเรื่องเอง ถ้าบทไม่ดี ไม่น่าติดตามแก้ไขใหม่อีก ยังไม่รวมแต่งดนตรี และแทรกมินิเกมส์เข้าไปอีก เน๊อะยังกะจะทำออกมาวางขาย -*- คือคิดไว้ว่า ถ้าจะทำ จะทำออกมาให้ดีที่สุด) และเพราะแบบนี้เองเลยคิดว่า ถ้าไม่มีเวลาทำ ก็อย่าทำดีกว่า มันต้องทุ่มเททำจริงๆ เกมส์ถึงจะออกมาดีสวยงามน่าเล่น

ไม่ว่าเกมส์ไหนๆมันต้องใช้เวลาในการทำมาก สำหรับคนทำงานแล้ว ส่วนใหญ่จะไม่ค่อยมีเวลาเพราะฉะนั้นน้องๆนักเรียน ที่มีเวลามากทั้งหลาย ถ้ามีไฟก็ทำเลยนะ อย่ารอจนเรียนจบไม่งั้นจะไม่มีเวลาให้ทำ -*-


ส่วนสำหรับคนที่ทำงานแล้ว อยากจะทำเกมส์แนวนี้ขายก็ได้เหมือนกันนะค่ะเพราะมีกลุ่มคนไทยที่เค้ารวมตัวกันทำเกมส์แนวนี้ขายอยู่ เล่นบน android หรือเล่นบนเว็บก็ได้ดีเหมือนกันทำออกมาเยอะๆ จะได้ไม่ต้องไปนั่งเดา text ญี่ปุ่นให้ปวดตา-*-


ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
บทความโดย นุ้ก (ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)



หน้า: [1]
ดูในรูปแบบกติ: [Renpy] 12. การ Input Name User (รับค่าตัวแปร ชื่อผู้เล่น)