แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-5-23 21:03
[renpy] 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= "วิชชุดา" #ถ้าผู้เล่นไม่ยอมพิมพ์ชื่อ โปรแกรมจะตั้งชื่อว่า วิชชุดา ให้แทน
-
- "ชื่อของฉันคือ [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เท่านั้น)
|