บทความสอนกราฟิก

 ลืมรหัสผ่าน
 ลงทะเบียน
ค้นหา
ดู: 2514|ตอบกลับ: 0

[Renpy] 39. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้

[คัดลอกลิงก์]

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

เครดิต
979
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 18:25

Score_Image_Show-Hide_02.jpg
[Renpy] 39. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้ต่อเนื่องจาก [Renpy] 38. วิธีแสดงคะแนนตัวเลขให้เป็น Image
- ให้เปิดไฟล์ options.rpy และให้ใส่โค๊ดด้านล่างนี้ลงไปค่ะ(เมื่อเทียบกับโค๊ดในบทความข้างต้น จะเห็นว่ามีแค่คำสั่ง " $ show_score = True" เท่านั้นที่หายไป...นอกนั้นเหมือนกันหมดค่ะ ^^)
  1. <font size="4">
  2. init:
  3.     $ score_heart = 0

  4.     ##สร้างตัวแปรเพื่อนำ score_heart มาคำนวณหาผลลัพธ์
  5.     $ num_two = 0  #num_two (แทนเลขหลักสิบ)
  6.     $ num_one = 0  # num_one (แทนเลขหลักหน่วย)

  7.     python hide:
  8.         def score_heart():
  9.             if show_score:

  10.                 if score_heart <= 25:

  11.                     ui.image("image/l.png",xalign=0.85, yalign=0.06)
  12.                     ui.image("image/2.png",xalign=0.90, yalign=0.06)
  13.                     ui.image("image/5.png",xalign=0.95, yalign=0.06)


  14.                 #-------------------num_two หาตัวเลขแทนเลขหลักสิบ----------------#   
  15.                     if num_two == 1:
  16.                          ui.image("image/1.png",xalign=0.75, yalign=0.06)
  17.                     if num_two == 2:
  18.                          ui.image("image/2.png",xalign=0.75, yalign=0.06)
  19.                     if num_two == 3:
  20.                          ui.image("image/3.png",xalign=0.75, yalign=0.06)
  21.                     if num_two == 4:
  22.                          ui.image("image/4.png",xalign=0.75, yalign=0.06)
  23.                     if num_two == 5:
  24.                          ui.image("image/5.png",xalign=0.75, yalign=0.06)
  25.                     if num_two == 6:
  26.                          ui.image("image/6.png",xalign=0.75, yalign=0.06)
  27.                     if num_two == 7:
  28.                          ui.image("image/7.png",xalign=0.75, yalign=0.06)
  29.                     if num_two == 8:
  30.                          ui.image("image/8.png",xalign=0.75, yalign=0.06)
  31.                     if num_two == 9:
  32.                          ui.image("image/9.png",xalign=0.75, yalign=0.06)

  33.                         
  34.                 #-------------------num_one หาตัวเลขแทนเลขหลักหน่วย----------------#  
  35.                     
  36.                     if num_one == 1:
  37.                          ui.image("image/1.png",xalign=0.80, yalign=0.06)
  38.                     if num_one == 2:
  39.                          ui.image("image/2.png",xalign=0.80, yalign=0.06)
  40.                     if num_one == 3:
  41.                          ui.image("image/3.png",xalign=0.80, yalign=0.06)
  42.                     if num_one == 4:
  43.                          ui.image("image/4.png",xalign=0.80, yalign=0.06)
  44.                     if num_one == 5:
  45.                          ui.image("image/5.png",xalign=0.80, yalign=0.06)
  46.                     if num_one == 6:
  47.                          ui.image("image/6.png",xalign=0.80, yalign=0.06)
  48.                     if num_one == 7:
  49.                          ui.image("image/7.png",xalign=0.80, yalign=0.06)
  50.                     if num_one == 8:
  51.                          ui.image("image/8.png",xalign=0.80, yalign=0.06)
  52.                     if num_one == 9:
  53.                          ui.image("image/9.png",xalign=0.80, yalign=0.06)
  54.                     if num_one == 0:
  55.                          ui.image("image/0.png",xalign=0.80, yalign=0.06)
  56.                         
  57.         config.overlay_functions.append(score_heart)
  58. </font>
คัดลอกไปที่คลิปบอร์ด
ส่วนที่ไฟล์ script.rpy ก็จะมีคำสั่งเพิ่มมาเล็กน้อยค่ะ  คือ  ($ show_score = False #ปิดหน้าแสดงคะแนน) และ ($ show_score = True #เปิดหน้าแสดงคะแนน)
  1. <font size="4">
  2. define b = Character('กวี', color="#f8f092")

  3. label start:
  4.     scene black
  5.     $ show_score = False  #ปิดหน้าแสดงคะแนน
  6.     "สวัสดี....มาเล่นตอบคำถามกันดีกว่า"
  7.     $ show_score = True  #เปิดหน้าแสดงคะแนน

  8. menu:

  9.     b "พยัญชนะในภาษาอังกฤษตัว "oei" เมื่อออกเสียง ผสมกัน
  10.     ในภาษาไทยจะเท่ากับสระตัวอะไร ?"

  11.     "สระ ไ- ":
  12.         $ score_heart -= 10
  13.         if  score_heart <= 0:
  14.             $ score_heart = 0
  15.         b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
  16.         jump score
  17.         
  18.     "สระ เ-า":
  19.         $ score_heart -= 10
  20.         if  score_heart <= 0:
  21.             $ score_heart = 0
  22.         b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
  23.         jump score
  24.         
  25.     "สระ เ-ย":
  26.         $ score_heart += 10
  27.         $ num_two = score_heart // 10
  28.         $ num_one = score_heart - (num_two *10)
  29.         b "ยินดีด้วยคุณได้รับ 10 คะแนนค่ะ"
  30.         jump score
  31.         
  32. #---------สรุปผล--------------------

  33. label score:
  34.     $ show_score = False  #ปิดหน้าแสดงคะแนน
  35.     hide screen  show_score
  36.     b "คุณได้รับคะแนนทั้งหมด [score_heart!d] คะแนน!!!"
  37.     $ show_score = True  #เปิดหน้าแสดงคะแนน
  38. return
  39. </font>
คัดลอกไปที่คลิปบอร์ด
ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น
Score_Image_Show-Hide_01.jpg
2.เริ่มตอบคำถามข้อแรก (ภาพคะแนนถูกสั่งให้แสดง)
Score_Image_Show-Hide_02.jpg
3. เมื่อไปที่ label สรุปผลคะแนน ภาพตัวเลขที่แสดงคะแนน(มุมบนขวา)ก็จะถูกซ่อนกลับไปเหมือนเดิม
Score_Image_Show-Hide_03.jpg

***************************************

บทความโดย นุ้ก
ขอจบบทความแค่เพียงเท่านี้ แล้วพบกันใหม่บทความหน้าค่ะ ^^
(ขอสงวนสิทธิ์อนุญาตให้เผยแพร่เฉพาะในเว็บ www.graphicfufu.comเท่านั้น)

ขออภัย! คุณไม่ได้รับสิทธิ์ในการดำเนินการในส่วนนี้ กรุณาเลือกอย่างใดอย่างหนึ่ง ลงชื่อเข้าใช้ | ลงทะเบียน

รายละเอียดเครดิต

ข้อความล้วน|อุปกรณ์พกพา|ประวัติการแบน|GraphicFUFU

GMT+7, 2024-4-30 08:03 , Processed in 0.127911 second(s), 32 queries .

Powered by Discuz! X3.4 R20180101, Rev.59

© 2001-2017 Comsenz Inc.

ตอบกระทู้ ขึ้นไปด้านบน ไปที่หน้ารายการกระทู้