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

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

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

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

272

กระทู้

272

โพสต์

979

เครดิต

ผู้ดูแลระบบ

Rank: 9Rank: 9Rank: 9

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

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


วิธีทำ- ให้นำโค๊ดด้านล่างนี้ไปใส่ที่ล่างสุดของไฟล์ script.rpyนะคะ
CODE:

  1. define b = Character('กวี', color="#f8f092")

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

  4.    
  5. label start:
  6.     $ score_heart = 0
  7.     scene black
  8.     "สวัสดี....มาเล่นตอบคำถามกันดีกว่า"
  9. #คำถามที่ 1
  10. menu:
  11.     b "พยัญชนะในภาษาอังกฤษตัว "ph" เมื่อออกเสียง ผสมกัน
  12.         ในภาษาไทยจะเท่ากับพยัญชนะตัวอะไร ?"
  13.    
  14.     "ออกเสียงเป็นตัว ช.ช้าง":
  15.         show screen  show_score #เปิดหน้าแสดงคะแนน
  16.         "คุณได้รับ 0 คะแนน"
  17.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  18.         pass
  19.    
  20.     "ออกเสียงเป็นตัว ฟ.ฟัน":
  21.         $ score_heart += 5
  22.         show screen  show_score #เปิดหน้าแสดงคะแนน
  23.         "ยินดีด้วย ^^ คุณได้รับ 5 คะแนน"
  24.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  25.         pass
  26.    
  27.     "ออกเสียงเป็นตัว พ.พาน และ ฮ.นกฮูก":
  28.         show screen  show_score #เปิดหน้าแสดงคะแนน
  29.         "คุณได้รับ 0 คะแนน"
  30.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  31.         pass
  32.    
  33. #คำถามที่ 2
  34. menu:
  35.     b "พยัญชนะในภาษาอังกฤษตัว "aew" เมื่อออกเสียง ผสมกัน
  36.         ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
  37.    
  38.     "สระ เ-" :
  39.         $ score_heart -= 10
  40.         if  score_heart <= 0:
  41.             $ score_heart = 0
  42.         show screen  show_score #เปิดหน้าแสดงคะแนน
  43.         "คุณได้รับ 0 คะแนน"
  44.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  45.         pass
  46.    
  47.     "สระ แ-ว ":
  48.         $ score_heart += 10
  49.         show screen  show_score #เปิดหน้าแสดงคะแนน
  50.         "ยินดีด้วย ^^ คุณได้รับ 10 คะแนน"
  51.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  52.         pass
  53.    
  54.     "สระ แ- ":
  55.         $ score_heart -= 10
  56.         if  score_heart <= 0:
  57.             $ score_heart = 0
  58.         show screen  show_score #เปิดหน้าแสดงคะแนน
  59.         "คุณได้รับ 0 คะแนน"
  60.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  61.         pass
  62.    
  63. #คำถามที่ 3 (คำถามสุดท้าย)
  64. menu:
  65.     b "พยัญชนะในภาษาอังกฤษตัว "oei" เมื่อออกเสียง ผสมกัน
  66.     ในภาษาไทยจะเท่ากับสระตัวอะไร ?"
  67.    
  68.     "สระ ไ- ":
  69.         $ score_heart -= 10
  70.         if  score_heart <= 0:
  71.             $ score_heart = 0
  72.         show screen  show_score #เปิดหน้าแสดงคะแนน
  73.         "คุณได้รับ 0 คะแนน"
  74.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  75.         jump score
  76.         
  77.     "สระ เ-า":
  78.         $ score_heart -= 10
  79.         if  score_heart <= 0:
  80.             $ score_heart = 0
  81.         show screen  show_score #เปิดหน้าแสดงคะแนน
  82.         "คุณได้รับ 0 คะแนน"
  83.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  84.         jump score
  85.         
  86.     "สระ เ-ย":
  87.         $ score_heart += 10
  88.         show screen  show_score #เปิดหน้าแสดงคะแนน
  89.         "ยินดีด้วย ^^ คุณได้รับ 10 คะแนน"
  90.         hide screen  show_score #ปิดหน้าแสดงคะแนน
  91.         jump score
  92.         
  93. #---------สรุปผล--------------------
  94. label score:

  95.     b "คุณได้ [score_heart!d] คะแนน!!!"
  96.   
  97. return
คัดลอกไปที่คลิปบอร์ด
เจ้าคำสั่งตัวนี่แหล่ะคือตัวหน้าแสดงตัวเลขคะแนน
"screen show_score:
text " [score_heart] /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. เมื่อเริ่มต้นเกมส์ตัวแสดงคะแนนจะยังไม่แสดงให้เห็น
Score_Normal_Show-Hide_01.jpg
2.เริ่มตอบคำถามข้อแรก (Text คะแนนยังไม่ถูกสั่งให้แสดง)
Score_Normal_Show-Hide_02.jpg
3. หลังเลือกคำถามไปแล้ว คะแนนจะแสดงขึ้นที่มุมจอขวา(ตั้งตำแหน่งใหม่เองได้)
Score_Normal_Show-Hide_03.jpg
4. ตัวแสดงคะแนนถูกซ่อนไว้อีกครั้ง พร้อมกับคำถามใหม่แสดงขึ้นมา
Score_Normal_Show-Hide_04.jpg
***************************************

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


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

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

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

GMT+7, 2024-4-30 09:58 , Processed in 0.098931 second(s), 21 queries .

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

© 2001-2017 Comsenz Inc.

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