[Renpy] 36. วิธีทำคะแนนคำถามแบบ Text ให้แสดง-ซ่อนได้
แก้ไขครั้งสุดท้ายโดย nooknazha เมื่อ 2018-6-22 18:0336. วิธีทำคะแนนคำถามแบบ 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]