nooknazha โพสต์ 2018-6-22 18:24:19

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

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


39. วิธีแสดงคะแนนตัวเลขให้เป็นภาพ และให้แสดง-ซ่อนได้ต่อเนื่องจาก 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
      ifscore_heart <= 0:
            $ score_heart = 0
      b "ตอบผิดคุณไม่ได้รับคะแนนเพิ่ม"
      jump score
      
    "สระ เ-า":
      $ score_heart -= 10
      ifscore_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 screenshow_score
    b "คุณได้รับคะแนนทั้งหมด คะแนน!!!"
    $ show_score = True#เปิดหน้าแสดงคะแนน
return
</font>ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น

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

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


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

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

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