Thaigraph

 

   

ค้นหา
Thaigraph หน้าฟอรั่ม Ren'Py [renpy] วิธีแสดงคะแนนตัวเลขให้ ...
ดู: 1366|ตอบ: 6
go

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

Rank: 7Rank: 7Rank: 7

โพสต์เมื่อ 8-5-2015 08:07 |แสดงโพสต์ทั้งหมด
[renpy] วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้
บทความนี้จะต่อเนื่องมาจากบทความ [renpy] วิธีแสดงเลขคะแนนตัวเลขให้เป็นภาพ นะคะ โดยจะมีวิธีเขียนโค๊ดแตกต่างแค่เล็กน้อยค่ะ

- ให้เปิดไฟล์ options.rpy และให้ใส่โค๊ดด้านล่างนี้ลงไปค่ะ (เมื่อเทียบกับโค๊ดในบทความข้างต้น จะเห็นว่ามีแค่คำสั่ง " $ show_score = True
" เท่านั้นที่หายไป... นอกนั้นเหมือนกันหมดค่ะ ^^)
  1. init:
  2.     $ score_heart = 0

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

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

  9.                 if score_heart <= 25:

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


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

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

ส่วนที่ไฟล์ script.rpy ก็จะมีคำสั่งเพิ่มมาเล็กน้อยค่ะ  คือ  ($ show_score = False #ปิดหน้าแสดงคะแนน) และ ($ show_score = True #เปิดหน้าแสดงคะแนน)
  1. define b = Character('กวี', color="#f8f092")

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

  7. menu:

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

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

  32. label score:
  33.     $ show_score = False  #ปิดหน้าแสดงคะแนน
  34.     hide screen  show_score
  35.     b "คุณได้รับคะแนนทั้งหมด [score_heart!d] คะแนน!!!"
  36.     $ show_score = True  #เปิดหน้าแสดงคะแนน
  37. return
คัดลอกไปที่คลิปบอร์ด


ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ

1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น


2.เริ่มตอบคำถามข้อแรก (ภาพคะแนนถูกสั่งให้แสดง)



3. เมื่อไปที่ label สรุปผลคะแนน ภาพตัวเลขที่แสดงคะแนน(มุมบนขวา)ก็จะถูกซ่อนกลับไปเหมือนเดิม


ตัวอย่างโค๊ดกับไฟล์ภาพตัวเลข(อยู่ในแฟ้มข้างใน) โหลดได้ที่นี่ค่ะ
[hide][/hide]

แล้วพบกันใหม่บทความหน้านะคะ ขอให้สนุกกับการทำเกมส์ค่ะ

บทความโดย NOOKFUFU2
(ขอสงวนสิทธิ์ให้เผยแพร่เฉพาะในเว็บไทยกราฟเท่านั้น!!!)


ไฟล์แนบ: คุณจำเป็นต้องเข้าสู่ระบบก่อนจึงจะสามารถดูและดาวน์โหลดไฟล์แนบได้ หากยังไม่มีแอคเคานต์หรือยังไม่ได้เป็นสมาชิก กรุณาสมัครสมาชิก
บางบทความคุณจำเป็นต้องสมัครสมาชิกแบบ VIP และ SUPERVIP ถึงจะเข้าอ่านบทความได้

Rank: 1

โพสต์เมื่อ 6-8-2015 18:31 |แสดงโพสต์ทั้งหมด

ขอบคุณมากค่ะ

Rank: 1

โพสต์เมื่อ 6-9-2015 10:41 |แสดงโพสต์ทั้งหมด
ขอบคุณครับ >[]<

Rank: 1

โพสต์เมื่อ 8-4-2016 12:53 |แสดงโพสต์ทั้งหมด
ขอบคุณค่ะ

Rank: 1

โพสต์เมื่อ 30-6-2016 21:19 |แสดงโพสต์ทั้งหมด
พี่ครับถ้าผมจะทำแบบว่าซ่อนคำตอบตอนที่คะแนนไม่ถึงทำยังไงเหรอครับ

Rank: 1

โพสต์เมื่อ 31-8-2017 11:21 |แสดงโพสต์ทั้งหมด
5555555555555555555555555555

Rank: 1

โพสต์เมื่อ 1-11-2017 03:06 |แสดงโพสต์ทั้งหมด
ขอบคุณมากๆค่ะ
คุณต้องเข้าสู่ระบบก่อนจึงจะสามารถตอบกลับ เข้าสู่ระบบ | สมัครสมาชิก


Thaigraph

GMT+7, 15-10-2019 11:08 , Processed in 0.126049 second(s), 22 queries .

Powered by Discuz! X1.5

© 2001-2010 Comsenz Inc. Thai Language by DiscuzThai! Team.

Top 10 Best Sellers in Clothing for 2017 Top 10 Best Sellers in Clothing Best Sellers in Clothing
Top 10 Best Sellers in Books reviewer 2017 Top 10 Best Sellers in Books Best Sellers in Books