nooknazha โพสต์ 2018-6-22 18:01:25

[Renpy] 36. วิธีทำคะแนนคำถามแบบ Text ให้แสดง-ซ่อนได้

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


36. วิธีทำคะแนนคำถามแบบ Text ให้แสดง-ซ่อนได้
เป็นการกำหนดให้แสดงหน้าคะแนนเวลาตอบคำถามแบบธรรมดา โดยที่เราสามารถกำหนดให้"แสดง" หรือ "ซ่อน" ก็ได้นะคะ


วิธีทำ- ให้นำโค๊ดด้านล่างนี้ไปใส่ที่ล่างสุดของไฟล์ script.rpyนะคะ
CODE:
define b = Character('กวี', color="#f8f092")

screen show_score:
    text "{color=#e600ce}{size=36}{b} /25{/b}{/size}{/color}"align (0.95, 0.05) #ตัวนี่แหล่ะไว้แสดงตัวเลขคะแนน

   
label start:
    $ score_heart = 0
    scene black
    "สวัสดี....มาเล่นตอบคำถามกันดีกว่า"
#คำถามที่ 1
menu:
    b "พยัญชนะในภาษาอังกฤษตัว \"ph\" เมื่อออกเสียง ผสมกัน
      ในภาษาไทยจะเท่ากับพยัญชนะตัวอะไร ?"
   
    "ออกเสียงเป็นตัว ช.ช้าง":
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
    "ออกเสียงเป็นตัว ฟ.ฟัน":
      $ score_heart += 5
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "ยินดีด้วย ^^ คุณได้รับ 5 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
    "ออกเสียงเป็นตัว พ.พาน และ ฮ.นกฮูก":
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
#คำถามที่ 2
menu:
    b "พยัญชนะในภาษาอังกฤษตัว \"aew\" เมื่อออกเสียง ผสมกัน
      ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
   
    "สระ เ-" :
      $ score_heart -= 10
      ifscore_heart <= 0:
            $ score_heart = 0
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
    "สระ แ-ว ":
      $ score_heart += 10
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "ยินดีด้วย ^^ คุณได้รับ 10 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
    "สระ แ- ":
      $ score_heart -= 10
      ifscore_heart <= 0:
            $ score_heart = 0
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      pass
   
#คำถามที่ 3 (คำถามสุดท้าย)
menu:
    b "พยัญชนะในภาษาอังกฤษตัว \"oei\" เมื่อออกเสียง ผสมกัน
    ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
   
    "สระ ไ- ":
      $ score_heart -= 10
      ifscore_heart <= 0:
            $ score_heart = 0
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      jump score
      
    "สระ เ-า":
      $ score_heart -= 10
      ifscore_heart <= 0:
            $ score_heart = 0
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "คุณได้รับ 0 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      jump score
      
    "สระ เ-ย":
      $ score_heart += 10
      show screenshow_score #เปิดหน้าแสดงคะแนน
      "ยินดีด้วย ^^ คุณได้รับ 10 คะแนน"
      hide screenshow_score #ปิดหน้าแสดงคะแนน
      jump score
      
#---------สรุปผล--------------------
label score:

    b "คุณได้ คะแนน!!!"

return
เจ้าคำสั่งตัวนี่แหล่ะคือตัวหน้าแสดงตัวเลขคะแนน
"screen show_score:
text " /25"align (0.95, 0.05) "

โดยจะทำงานร่วมกับคำสั่งที่เราเห็นอยู่หลายจุดในนี้นะค่ะคือ
"show screen show_score" #เป็นสำสั่งให้เปิดหน้าแสดงคะแนนและ
"hide screen show_score" #เป็นคำสั่งให้ปิดหน้าแสดงคะแนนค่ะ

ส่วนคำสั่งตัวอื่นจะเป็นคำสั่งสำหรับปรับแต่งตัวอักษรค่ะเช่น
{color=#e600ce}....{/color} #กำหนดสีให้กับText
{size=36}...{/size} #กำหนดขนาดให้กับText
{b}...{/b} # กำหนดให้Text เป็นตัวหนา เป็นต้นค่ะ

ส่วนคำสั่ง "align (0.95, 0.05)" ที่ต่อท้ายเป็นคำสั่งย่อสำหรับกำหนดตำแหน่งที่จะให้แสดง Text บนหน้าจอค่ะเลขตัวหน้าแทนตำแหน่งแกน X (xalign=แนวนอน) และเลขตัวหลังแทนตำแหน่งแกน Y(yalign=แนวตั้ง)

ลองมาดูผลลัพธ์กันดีกว่าว่ามันจะทำงานยังไงนะคะ
1. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น

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

3. หลังเลือกคำถามไปแล้ว คะแนนจะแสดงขึ้นที่มุมจอขวา(ตั้งตำแหน่งใหม่เองได้)

4. ตัวแสดงคะแนนถูกซ่อนไว้อีกครั้ง พร้อมกับคำถามใหม่แสดงขึ้นมา

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

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


หน้า: [1]
ดูในรูปแบบกติ: [Renpy] 36. วิธีทำคะแนนคำถามแบบ Text ให้แสดง-ซ่อนได้