Home / Featured  / เขียนเกมฝึกพิมพ์ภาษาอังกฤษ Typing Game ด้วย Unity ตอนที่ 2

เขียนเกมฝึกพิมพ์ภาษาอังกฤษ Typing Game ด้วย Unity ตอนที่ 2

พิมพ์ถูกขึ้น Good Job!

บทเรียนต่อเนื่องการพัฒนาเกมฝึกพิมพ์ภาษาอังกฤษ Typing Game บน Unity กับตัวอย่างง่ายๆ ครับ

จากบทเรียนก่อนหน้านี้ “เขียนเกมฝึกพิมพ์ภาษาอังกฤษ Typing Game ด้วย Unity ตอนที่ 1” เราจะได้ระบบต่อไปนี้มาแล้ว

  • ระบบสุ่มคำ และตรวจสอบคำถูกผิด
  • ระบบจับเวลา 10 วินาที
  • ระบบเงื่อนไขบังคับตัวละครกระโดดไปข้างหน้าเมื่อมีบางอย่างเป็น True

Screen Shot 2558-07-12 at 10.11.46 PM

ไปที่ Hierarchy ทำการเพิ่ม Text เข้าไปใน Canvas ทั้งหมด 3 ตัวเปลี่ยนชื่อเป็น “TypeCorrect”, “TypeWrong” และ “WinnerText”

Screen Shot 2558-07-12 at 10.28.45 PM

โดยตกแต่ง TypeCorrect ให้เป็นตัวอักษรสีเหลืองพิมพ์ว่า “Good Job!” ใส่ Scrpt C# ว่า “pass_message.cs” ครับ

Screen Shot 2558-07-12 at 10.30.58 PM

โดย Script “pass_message.cs” นั้นประกอบด้วยฟังก์ชันต่อไปนี้

ทำการซ่อนมันไว้ก่อนครับ

ใส่ Tag ให้กับมันเล็กน้อยครับว่า “TypeCorrect”

Screen Shot 2558-07-12 at 10.40.44 PM

เช่นกันไปที่ TypeWrong กำหนดค่าเป็นสีแดงพิมพ์ว่า “Oh No!” ใส่ Script ชื่อว่า “bad_message.cs”

Screen Shot 2558-07-12 at 10.34.31 PM

ไฟล์  bad_message.cs มีฟังก์ชันดังนี้ (ซ่อนมันไว้เช่นกัน)

กำหนด tag ให้กับมันว่า “TypeWrong”

Screen Shot 2558-07-12 at 10.40.34 PM

ของ WinnerText ก็กำหนดข้อความตอน ชนะเกมไว้ครับ

Screen Shot 2558-07-12 at 10.38.25 PM

ใส่ Script C# ชื่อว่า winnerText.cs

ต่างกันตรงที่ว่า ถ้า GameSystem ส่งตัวแปร winnerGame ว่า True มาเมื่อไหร่ ข้อความนี้จะปรากฏครับว่าผ่านด่านแล้ว

ฉากที่ปรากฏจะเป็นดังนี้ครับ

Screen Shot 2558-07-12 at 10.39.00 PM

แต่ถ้า Play เกมดูมันจะหายไปครับเพราะเราซ่อนมันไว้นั่นเอง

ต่อมาไปที่ Canvas ครับทำการสร้าง Input Field เข้ามาใน Canvas

Screen Shot 2558-07-12 at 10.42.54 PM

จะปรากฏบน Hierarchy ดังนี้

Screen Shot 2558-07-12 at 10.41.58 PM

ตั้งค่า ขนาดของ InputField ให้สวยงามเหมาะสมครับ

 

เขียน Script C# ขึ้นมาใหม่ใน InputField ว่า “InputPlay.cs” ใส่ฟังก์ชันดังนี้

ใน InputField ที่มี C# ไฟล์ InputPlay.cs นี้จะมีการเรียก OOP เพื่อควบคุมอยู่ 3 ตัวคือ GameSystem ในเรื่องของการเล่น และ TypeCorrect และ TypeWrong ในเรื่องของการแสดงเมื่อพิมพ์ถูก และ พิมพ์ผิด

เรียกดังนี้ครับ

เริ่มเกมให้ระบบมีการ Focus มาที่ Input Field ทันทีครับ เมื่อพิมพ์เสร็จกด Enter ก็จะเป็นการเช็คว่าพิมพ์ถูกหรือผิด ถ้าถูก GameSystem จะเรียกฟังก์ชัน CorrectAnswer() ซึ่งจะเชื่อมโยงไปที่ Player ให้กระโดดไปข้างหน้า และ TimerText จะทำการนับเลข 10 วินาทีใหม่ พร้อมกับ Random Array ศัพท์ใหม่ออกมา

กด Enter เมื่อพิมพ์เสร็จใช้

ระบบจะทำการเช็คศัพท์ว่าตรงกับ ศัพท์ที่สุ่มจาก Array ไหมที่

เป็นอันเสร็จเรียบร้อยครับ เกมสมบูรณ์แล้ว ทดสอบการเล่น

พิมพ์ Monkey แล้วกระโดดไปข้างหน้าเมื่อ Enter

พิมพ์ Monkey แล้วกระโดดไปข้างหน้าเมื่อ Enter

พิมพ์ถูกขึ้น Good Job!

พิมพ์ถูกขึ้น Good Job!

ชนะขึ้น Winner!!

ชนะขึ้น Winner!!

แบบวีดีโอก็ตามนี้ครับ

สามารถเอาเป็นแนวทาง หรือหาสนใจ Source Code  (Asset ฟรีหมด แค่ เรื่องของ Code และ logic game play เท่านั้นที่คิดขึ้นมาเอง)

ที่นี่: http://bit.ly/TypingTemplate

Comments

daydevthailand@gmail.com

<p>อาจารย์ประจำสาขาวิชาการออกแบบเชิงโต้ตอบ และการพัฒนาเกม วิทยาลัยครีเอทีฟดีไซน์ & เอ็นเตอร์เทนเมนต์เทคโนโลยี มหาวิทยาลัยธุรกิจบัณฑิตย์<br /> ,ผู้ก่อตั้ง บริษัท Daydev Co., Ltd, (เดย์เดฟ จำกัด)</p>

Review overview
NO COMMENTS

Sorry, the comment form is closed at this time.

%d bloggers like this: