- สมัครสมาชิกเมื่อ
- 10-8-2008
- เข้าสู่ระบบล่าสุด
- 7-12-2019
- สิทธิ์ในการอ่าน
- 100
- เครดิต
- 8153
- โพสต์
- 1019
- สำคัญ
- 0
- UID
- 76
  
|
[renpy] วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้
บทความนี้จะต่อเนื่องมาจากบทความ [renpy] วิธีแสดงเลขคะแนนตัวเลขให้เป็นภาพ นะคะ โดยจะมีวิธีเขียนโค๊ดแตกต่างแค่เล็กน้อยค่ะ
- ให้เปิดไฟล์ options.rpy และให้ใส่โค๊ดด้านล่างนี้ลงไปค่ะ (เมื่อเทียบกับโค๊ดในบทความข้างต้น จะเห็นว่ามีแค่คำสั่ง " $ show_score = True" เท่านั้นที่หายไป... นอกนั้นเหมือนกันหมดค่ะ ^^)
- 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)
คัดลอกไปที่คลิปบอร์ด
ส่วนที่ไฟล์ script.rpy ก็จะมีคำสั่งเพิ่มมาเล็กน้อยค่ะ คือ ($ show_score = False #ปิดหน้าแสดงคะแนน) และ ($ show_score = True #เปิดหน้าแสดงคะแนน)
- 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
คัดลอกไปที่คลิปบอร์ด
ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น
2.เริ่มตอบคำถามข้อแรก (ภาพคะแนนถูกสั่งให้แสดง)
3. เมื่อไปที่ label สรุปผลคะแนน ภาพตัวเลขที่แสดงคะแนน(มุมบนขวา)ก็จะถูกซ่อนกลับไปเหมือนเดิม
ตัวอย่างโค๊ดกับไฟล์ภาพตัวเลข(อยู่ในแฟ้มข้างใน) โหลดได้ที่นี่ค่ะ
[hide][/hide]
แล้วพบกันใหม่บทความหน้านะคะ ขอให้สนุกกับการทำเกมส์ค่ะ 
บทความโดย NOOKFUFU2
(ขอสงวนสิทธิ์ให้เผยแพร่เฉพาะในเว็บไทยกราฟเท่านั้น!!!)
|
|