แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 18:25
[Renpy] 39. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้ต่อเนื่องจาก [Renpy] 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
- if score_heart <= 0:
- $ score_heart = 0
- b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
- jump score
-
- "สระ เ-า":
- $ score_heart -= 10
- if score_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 screen show_score
- b "คุณได้รับคะแนนทั้งหมด [score_heart!d] คะแนน!!!"
- $ show_score = True #เปิดหน้าแสดงคะแนน
- return
- </font>
คัดลอกไปที่คลิปบอร์ด ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น
2.เริ่มตอบคำถามข้อแรก (ภาพคะแนนถูกสั่งให้แสดง)
3. เมื่อไปที่ label สรุปผลคะแนน ภาพตัวเลขที่แสดงคะแนน(มุมบนขวา)ก็จะถูกซ่อนกลับไปเหมือนเดิม
***************************************
บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)
|