[Renpy] 39. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 18:2539. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้ต่อเนื่องจาก 38. วิธีแสดงคะแนนตัวเลขให้เป็น Image
- ให้เปิดไฟล์ options.rpy และให้ใส่โค๊ดด้านล่างนี้ลงไปค่ะ(เมื่อเทียบกับโค๊ดในบทความข้างต้น จะเห็นว่ามีแค่คำสั่ง " $ show_score = True" เท่านั้นที่หายไป...นอกนั้นเหมือนกันหมดค่ะ ^^)<font size="4">
init:
$ score_heart = 0
##สร้างตัวแปรเพื่อนำ 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)
</font>ส่วนที่ไฟล์ script.rpy ก็จะมีคำสั่งเพิ่มมาเล็กน้อยค่ะคือ($ show_score = False #ปิดหน้าแสดงคะแนน) และ ($ show_score = True #เปิดหน้าแสดงคะแนน)<font size="4">
define b = Character('กวี', color="#f8f092")
label start:
scene black
$ show_score = False#ปิดหน้าแสดงคะแนน
"สวัสดี....มาเล่นตอบคำถามกันดีกว่า"
$ show_score = True#เปิดหน้าแสดงคะแนน
menu:
b "พยัญชนะในภาษาอังกฤษตัว \"oei\" เมื่อออกเสียง ผสมกัน
ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
"สระ ไ- ":
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
jump score
"สระ เ-า":
$ score_heart -= 10
ifscore_heart <= 0:
$ score_heart = 0
b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
jump score
"สระ เ-ย":
$ score_heart += 10
$ num_two = score_heart // 10
$ num_one = score_heart - (num_two *10)
b "ยินดีด้วยคุณได้รับ 10 คะแนนค่ะ"
jump score
#---------สรุปผล--------------------
label score:
$ show_score = False#ปิดหน้าแสดงคะแนน
hide screenshow_score
b "คุณได้รับคะแนนทั้งหมด คะแนน!!!"
$ show_score = True#เปิดหน้าแสดงคะแนน
return
</font>ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น
2.เริ่มตอบคำถามข้อแรก (ภาพคะแนนถูกสั่งให้แสดง)
3. เมื่อไปที่ label สรุปผลคะแนน ภาพตัวเลขที่แสดงคะแนน(มุมบนขวา)ก็จะถูกซ่อนกลับไปเหมือนเดิม
***************************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
หน้า:
[1]