Home / Developer  / Game Development  / 2D Game Development  / Godot Engine  / เขียนเกมด้วย Gogot Engine การประกอบตัวละครในเกมด้วย AnimationPlayer

เขียนเกมด้วย Gogot Engine การประกอบตัวละครในเกมด้วย AnimationPlayer

เทคนิคการออกแบบตัวละครในเกมโดยการ Slice Sprite เป็นส่วนต่างๆ แล้วนำมาประกอบสร้างใน Tree พร้อมจัดท่าทางด้วย AnimationPlayer ด้วย Godot Engine

บทเรียนที่ควรต้องศึกษาก่อนหน้า

บทเรียนนี้จะเป็นการสร้างตัวละครในเกม เพียงแค่เราไม่ต้องทำ Sprite Sheet ตัวละครแบบ Set แล้ว แต่เราจะใช้ Sprite ในอีกรูปแบบหนึ่งนั่นคือรูปแบบของ Slices ดังตัวอย่างนี้:

มันคือ Sprite -Sheet ที่ดาวน์โหลดมาจาก https://www.spriters-resource.com

เพียงแค่พอเราจะใช้งานเราต้อง Slice มันออกเป็นชิ้นๆ จากโปรแกรม Photo Editor นั่นเองครับ พอหั่นเสร็จแล้วเราต้อง Import เข้าใน Project ของเราแบบ 2D Texture ให้เรียบร้อย

ให้เราสร้าง Scene ใหม่ขึ้นมาครับ แล้วสร้าง KinematicBody2D ขึ้นมาก่อน หลังจากนั้น สร้าง Sprite ชื่อว่า Chracter สร้าง Childnode วาง Layer โดยการจัด Z-index ให้เรียบร้อยประกอบเป็นตัวละครให้ได้:

เมื่อพร้อม และพอใจกับผลงานของเราแล้วก็ได้เวลาในการ สร้าง AnimationPlayer เลือกหามาใส่เป็น Childnode ของ KinematicBody2D

ให้เราสร้าง Animation ใหม่ขึ้นมาชื่อว่า idle

เลือกส่วนของ Character ขยับไปทีละส่วน ขยับทีละส่วน ให้จำไว้ว่าส่วนไหนที่ได้ปรับแล้วให้เลือกทั้งหมดโดยกด Shift ก่อนแล้วกด Auto Keys ที่ปุ่มนี้

ปรับ Keyframe ไปยัง Keyframe ที่ต้องการแล้วขยับ แอนิเมชัน (ใช้เวลาฝึกเล็กน้อย) กด Loop ทุกครั้ง

สร้างแอนิเมชันท่า idle และ walk เพื่อนำไปใช้ Attach Script ชื่อว่า player.gd เข้าไปที่ KinematicBody2D

จะเห็นว่า เราจะมีการเรียกคำสั่ง Flip ซ้าย ขวา ที่แตกต่างกับ AnimatedSprite คือ KinematicBody2D จะ Flip ต้องเลือก

สำหรับ แอนิเมชันเช่นกัน เราจะต้องใช้การสร้างตัวแปร

โดย anim_play มาทำการ get_node(“AnimationPlayer”) ส่วน anim ไว้เก็บ State ของ Animation ว่าเป็น walk หรือ idle เพื่อนำมาวน loop ทำซ้ำผ่านเงื่อนไขการเช็ค anim_new ที่

นอกนั้นก็คำสั่ง เดิน บังคับตัวละครปกติ

สร้าง Scene ใหม่ขึ้นมา ตกแต่งให้เรียบร้อย ลาก player.xml ไปวางตามโครงสร้างของตัวอย่าง:

ทำการทดสอบเกมของเรา โดยการเดินไปมาในฉาก จะเห็นว่าตัวละครของเรา ขยับได้ปกติแล้ว

Source code: https://github.com/banyapondpu/godot-animationplayer

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: