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

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

[Renpy] 38. วิธีแสดงคะแนนตัวเลขให้เป็น Image

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

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

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

Score_Image_00.jpg
[Renpy] 38. วิธีแสดงคะแนนตัวเลขให้เป็น Image
การทำงานของโค๊ดคือ คุณจะต้องสร้างตัวแปรแทนค่าหลักสิบและัตวแปรแทนค่าหลักหน่วยขึ้นมาเพื่่อให้มันทำหน้าที่ดึงภาพตัวเลขแต่ละตัวขึ้นมาแสดงให้ถูกต้องค่ะ(ในกรณีถ้าระดับคะแนนเต็มที่ค่าหลักร้อย ก็ต้องสร้างตัวแปรแทนค่าหลักร้อยขึ้นมาด้วยเช่นกันค่ะ)

อย่างแรกเลยคือต้องสร้างภาพตัวเลขขึ้นมาก่อนโปรแกรมที่ใช้สร้างก็มีหลายโปรแกรมนะคะ แต่ที่นิยมใช้กันมากที่สุดก็โปรแกรม Photoshop  (ภาพตัวเลขต้องบันทึกเป็นไฟล์ .PNG และควรให้พื้นหลังเป็นแบบโปร่งใสนะคะ)
Score_Image_01.jpg
- แล้วก็บันทึกไฟล์โดยแยกเป็นภาพละตัวเลข (มีตัวอย่างโค๊ดเกมส์และภาพตัวเลขให้โหลดที่ลิงค์ด้านล่างค่ะ)
Score_Image_02.jpg
- จากนั้นให้นำโค๊ดด้านล่างนี้ไปใส่ที่ล่างสุดของไฟล์ options.rpyนะคะ
CODE:


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

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

  11.                 if score_heart <= 25:

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


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

  34.                         
  35.                 #-------------------num_one หาตัวเลขแทนเลขหลักหน่วย----------------#  
  36.                     
  37.                     if num_one == 1:
  38.                          ui.image("image/1.png",xalign=0.80, yalign=0.06)
  39.                     if num_one == 2:
  40.                          ui.image("image/2.png",xalign=0.80, yalign=0.06)
  41.                     if num_one == 3:
  42.                          ui.image("image/3.png",xalign=0.80, yalign=0.06)
  43.                     if num_one == 4:
  44.                          ui.image("image/4.png",xalign=0.80, yalign=0.06)
  45.                     if num_one == 5:
  46.                          ui.image("image/5.png",xalign=0.80, yalign=0.06)
  47.                     if num_one == 6:
  48.                          ui.image("image/6.png",xalign=0.80, yalign=0.06)
  49.                     if num_one == 7:
  50.                          ui.image("image/7.png",xalign=0.80, yalign=0.06)
  51.                     if num_one == 8:
  52.                          ui.image("image/8.png",xalign=0.80, yalign=0.06)
  53.                     if num_one == 9:
  54.                          ui.image("image/9.png",xalign=0.80, yalign=0.06)
  55.                     if num_one == 0:
  56.                          ui.image("image/0.png",xalign=0.80, yalign=0.06)
  57.                         
  58.         config.overlay_functions.append(score_heart)

คัดลอกไปที่คลิปบอร์ด
-
ต่อไปก็ให้นำโค๊ดด้านล่างนี้ไปใส่ที่ไฟล์ script.rpy ค่ะ
CODE:

  1. label start:
  2.     scene black
  3. #คำถามที่ 1
  4. menu:
  5.     b "พยัญชนะในภาษาอังกฤษตัว "ph" เมื่อออกเสียง ผสมกัน
  6.         ในภาษาไทยจะเท่ากับพยัญชนะตัวอะไร ?"
  7.    
  8.     "ออกเสียงเป็นตัว ช.ช้าง":
  9.         pass
  10.     "ออกเสียงเป็นตัว ฟ.ฟัน":
  11.         $ score_heart += 5
  12.         $ num_two = score_heart // 10
  13.         $ num_one = score_heart - (num_two *10)
  14.         pass
  15.     "ออกเสียงเป็นตัว พ.พาน และ ฮ.นกฮูก":
  16.         pass
  17.    
  18. #คำถามที่ 2
  19. menu:
  20.     b "พยัญชนะในภาษาอังกฤษตัว "aew" เมื่อออกเสียง ผสมกัน
  21.         ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
  22.    
  23.     "สระ เ-" :
  24.         $ score_heart -= 10
  25.         if  score_heart <= 0:
  26.             $ score_heart = 0
  27.         pass
  28.     "สระ แ-ว ":
  29.         $ score_heart += 10
  30.         $ num_two = score_heart // 10
  31.         $ num_one = score_heart - (num_two *10)
  32.         pass
  33.     "สระ แ- ":
  34.         $ score_heart -= 10
  35.         if  score_heart <= 0:
  36.             $ score_heart = 0
  37.         pass
  38.    
  39. #คำถามที่ 3 (คำถามสุดท้าย)
  40. menu:
  41.     b "พยัญชนะในภาษาอังกฤษตัว "oei" เมื่อออกเสียง ผสมกัน
  42.     ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
  43.    
  44.     "สระ ไ- ":
  45.         $ score_heart -= 10
  46.         if  score_heart <= 0:
  47.             $ score_heart = 0
  48.         jump score
  49.     "สระ เ-า":
  50.         $ score_heart -= 10
  51.         if  score_heart <= 0:
  52.             $ score_heart = 0
  53.         jump score
  54.         
  55.     "สระ เ-ย":
  56.         $ score_heart += 10
  57.         $ num_two = score_heart // 10
  58.         $ num_one = score_heart - (num_two *10)
  59.         jump score
  60. #---------สรุปผล--------------------
  61. label score:
  62.    
  63.     b "คุณได้ [score_heart!d] คะแนน!!!"
  64.   
  65. return
คัดลอกไปที่คลิปบอร์ด
(ผลลัพธ์หลังเทสเกมส์  คะแนนจะแสดงออกมาเป็นภาพตัวเลขสวยสดใสน่าดูกว่าตัวอักษรแข็งๆเป็นไหนๆ)

Score_Image_03.jpg Score_Image_00.jpg
***************************************

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


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

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

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

GMT+7, 2024-12-22 16:11 , Processed in 0.096874 second(s), 21 queries .

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

© 2001-2017 Comsenz Inc.

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