Construct 2 : สร้างเกมทายคำศัพท์ (Word Game)ภาค 2

เกมนี้ มีเพื่อนสมาชิก ถามมาว่า “เวลาตอบถูกอยากให้มีเสียงคำศัพท์ด้วยมีวิธีทำอย่างไร”  วิธีการก็ไม่มีอะไรยุ่งยากมากมายหรอกครับ เพียงไปเพิ่มการโหลดเลขตำแหน่งของคำศัพท์ไปเก็บในตัวแปร เมื่อผู้เล่นตอบถูก ก็นำเลขในตัวแปรมาอ้างอิงเรียกไฟล์เสียงออกมาเล่นก็เท่านั้น ว่าแล้วก็มาลองทำกันเลยครับ

1. ก่อนอื่นเราต้องเตรียมไฟล์เสียง เกี่ยวกับคำอ่านต่างๆ แล้วบันทึกชื่อเป็น  “sound0” “sound1” …. “sound…” ตามจำนวนคำใน JSON data ของเรา เช่น “zebra,0” ตั้งชื่อไฟล์เสียง เป็น “sound0” , “owl,1” ตั้งชื่อไฟล์เสียง เป็น “sound1” เป็นต้น

JSON data"":[[[""zebra,0""]],[[""owl,1""]],[[""bear,2""]],[[""giraffe,3""]],[[""tiger,4""]],[[""lion,5""]],[[""monkey,6""]],[[""elephant,7""]],[[""fox,8""]],[[""squirrel,9""]],[[""rhinoceros,10""]],[[""rabbit,11""]],[[""raccoon,12""]]]}"

จากตัวอย่าง JSON data นี้ จะตั้งชื่อ sound0 ถึง sound12 จากนั้นทำการ Import sounds เข้าไปไว้ใน โฟลเดอร์ Sounds ใน Construct 2

2. เพิ่ม Object Audio ลงในงานของเรา

3. เปิด Event Sheet ของไฟล์เดิมขึ้นมาทำการแก้ไขดังนี้

3.1  เพิ่ม Global Variable  ชนิด Number ตั้งชื่อว่า soundFile ตั้งค่าเริ่มต้น เป็น 0

3.2  ที่ Event Function On “set” เพิ่ม Action การนำค่าจาก Array ไปเก็บไว้ในตัวแปร soundFile เมื่อโหลดคำศัพท์ใหม่ทุกครั้ง

int(trim(tokenat(ArrayAns.At(varRand),1,",")))

3.3 แก้ไข Event ตรวจคำตอบ

3.3.1 โดยเพิ่ม Sub-event ให้กับ Event 13 เพื่อสั่งเล่นเสียงครั้งเดียว
System => Trigger once while true

3.3.2 จากนั้นเพิ่ม Action => Audio => Play (by name) โดยกำหนดค่าดังนี้

3.3.3 เพิ่ม Sub-event ให้กับ Event 13 เมื่อจบการเล่นเสียง
Audio => On ended

3.3.4 นำ Action ที่มีอยู่เดิมของ Event 13  มาวางใน Event นี้

เป็นอันเสร็จสิ้นการปรับปรุงเกมให้มีเสียงอ่านเมื่อผู้เล่นตอบถูก ลองนำไปประยุกต์ใช้กันนะครับ

ขอให้สนุกกับการสร้างงานกันนะครับ

แล้วพบกันใหม่

สวัสดีครับ !

Construct 2 : สร้างเกมทายคำศัพท์ (Word Game)