[Renpy] 38. วิธีแสดงคะแนนตัวเลขให้เป็น Image
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 18:1738. วิธีแสดงคะแนนตัวเลขให้เป็น Image
การทำงานของโค๊ดคือ คุณจะต้องสร้างตัวแปรแทนค่าหลักสิบและัตวแปรแทนค่าหลักหน่วยขึ้นมาเพื่่อให้มันทำหน้าที่ดึงภาพตัวเลขแต่ละตัวขึ้นมาแสดงให้ถูกต้องค่ะ(ในกรณีถ้าระดับคะแนนเต็มที่ค่าหลักร้อย ก็ต้องสร้างตัวแปรแทนค่าหลักร้อยขึ้นมาด้วยเช่นกันค่ะ)
อย่างแรกเลยคือต้องสร้างภาพตัวเลขขึ้นมาก่อนโปรแกรมที่ใช้สร้างก็มีหลายโปรแกรมนะคะ แต่ที่นิยมใช้กันมากที่สุดก็โปรแกรม Photoshop(ภาพตัวเลขต้องบันทึกเป็นไฟล์ .PNG และควรให้พื้นหลังเป็นแบบโปร่งใสนะคะ)
- แล้วก็บันทึกไฟล์โดยแยกเป็นภาพละตัวเลข (มีตัวอย่างโค๊ดเกมส์และภาพตัวเลขให้โหลดที่ลิงค์ด้านล่างค่ะ)
- จากนั้นให้นำโค๊ดด้านล่างนี้ไปใส่ที่ล่างสุดของไฟล์ options.rpyนะคะ
CODE:
init:
$ score_heart = 0
$ show_score = True
##สร้างตัวแปรเพื่อนำ score_heart มาคำนวณหาผลลัพธ์
$ num_two = 0#num_two (แทนเลขหลักสิบ)
$ num_one = 0# num_one (แทนเลขหลักหน่วย)
python hide:
def score_heart():
if show_score:
if score_heart <= 25:
ui.image("image/l.png",xalign=0.85, yalign=0.06)
ui.image("image/2.png",xalign=0.90, yalign=0.06)
ui.image("image/5.png",xalign=0.95, yalign=0.06)
#-------------------num_two หาตัวเลขแทนเลขหลักสิบ----------------#
if num_two == 1:
ui.image("image/1.png",xalign=0.75, yalign=0.06)
if num_two == 2:
ui.image("image/2.png",xalign=0.75, yalign=0.06)
if num_two == 3:
ui.image("image/3.png",xalign=0.75, yalign=0.06)
if num_two == 4:
ui.image("image/4.png",xalign=0.75, yalign=0.06)
if num_two == 5:
ui.image("image/5.png",xalign=0.75, yalign=0.06)
if num_two == 6:
ui.image("image/6.png",xalign=0.75, yalign=0.06)
if num_two == 7:
ui.image("image/7.png",xalign=0.75, yalign=0.06)
if num_two == 8:
ui.image("image/8.png",xalign=0.75, yalign=0.06)
if num_two == 9:
ui.image("image/9.png",xalign=0.75, yalign=0.06)
#-------------------num_one หาตัวเลขแทนเลขหลักหน่วย----------------#
if num_one == 1:
ui.image("image/1.png",xalign=0.80, yalign=0.06)
if num_one == 2:
ui.image("image/2.png",xalign=0.80, yalign=0.06)
if num_one == 3:
ui.image("image/3.png",xalign=0.80, yalign=0.06)
if num_one == 4:
ui.image("image/4.png",xalign=0.80, yalign=0.06)
if num_one == 5:
ui.image("image/5.png",xalign=0.80, yalign=0.06)
if num_one == 6:
ui.image("image/6.png",xalign=0.80, yalign=0.06)
if num_one == 7:
ui.image("image/7.png",xalign=0.80, yalign=0.06)
if num_one == 8:
ui.image("image/8.png",xalign=0.80, yalign=0.06)
if num_one == 9:
ui.image("image/9.png",xalign=0.80, yalign=0.06)
if num_one == 0:
ui.image("image/0.png",xalign=0.80, yalign=0.06)
config.overlay_functions.append(score_heart)
- ต่อไปก็ให้นำโค๊ดด้านล่างนี้ไปใส่ที่ไฟล์ script.rpy ค่ะ
CODE:
label start:
scene black
#คำถามที่ 1
menu:
b "พยัญชนะในภาษาอังกฤษตัว \"ph\" เมื่อออกเสียง ผสมกัน
ในภาษาไทยจะเท่ากับพยัญชนะตัวอะไร ?"
"ออกเสียงเป็นตัว ช.ช้าง":
pass
"ออกเสียงเป็นตัว ฟ.ฟัน":
$ score_heart += 5
$ num_two = score_heart // 10
$ num_one = score_heart - (num_two *10)
pass
"ออกเสียงเป็นตัว พ.พาน และ ฮ.นกฮูก":
pass
#คำถามที่ 2
menu:
b "พยัญชนะในภาษาอังกฤษตัว \"aew\" เมื่อออกเสียง ผสมกัน
ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
"สระ เ-" :
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
pass
"สระ แ-ว ":
$ score_heart += 10
$ num_two = score_heart // 10
$ num_one = score_heart - (num_two *10)
pass
"สระ แ- ":
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
pass
#คำถามที่ 3 (คำถามสุดท้าย)
menu:
b "พยัญชนะในภาษาอังกฤษตัว \"oei\" เมื่อออกเสียง ผสมกัน
ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
"สระ ไ- ":
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
jump score
"สระ เ-า":
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
jump score
"สระ เ-ย":
$ score_heart += 10
$ num_two = score_heart // 10
$ num_one = score_heart - (num_two *10)
jump score
#---------สรุปผล--------------------
label score:
b "คุณได้ คะแนน!!!"
return
(ผลลัพธ์หลังเทสเกมส์คะแนนจะแสดงออกมาเป็นภาพตัวเลขสวยสดใสน่าดูกว่าตัวอักษรแข็งๆเป็นไหนๆ)
***************************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
หน้า:
[1]