บทที่ 1: การสร้างวัตถุในเกม 2D
ในบทนี้เราจะเรียนรู้การสร้างและจัดการวัตถุในเกม 2D ซึ่งเป็นพื้นฐานในการพัฒนาเกมแบบสองมิติ (2D) โดยใช้ Unity
การสร้าง Sprite
Sprite คือภาพสองมิติที่ใช้แทนตัวละครหรือวัตถุในเกม ใน Unity เราสามารถสร้าง Sprite ได้อย่างง่ายดายตามขั้นตอนดังนี้:
- เปิดโปรเจกต์ 2D ที่เราได้สร้างไว้ในบทก่อน
- ไปที่เมนู Assets > Create > Sprite > เลือกประเภทของ Sprite ที่ต้องการ เช่น Square หรือ Circle
- เมื่อสร้าง Sprite เสร็จแล้ว เราสามารถลาก Sprite ไปวางในส่วน Scene เพื่อแสดงผลในหน้าจอเกม
การนำเข้าสื่อ (Sprites, Sounds)
ใน Unity เราสามารถนำเข้าภาพและเสียงที่ต้องการใช้ในเกมได้จากไฟล์ที่มีอยู่บนคอมพิวเตอร์ของเรา โดยทำตามขั้นตอนดังนี้:
- ไปที่เมนู Assets > Import New Asset
- เลือกไฟล์ภาพหรือเสียงที่ต้องการนำเข้า เช่น ไฟล์รูปตัวละครหรือไฟล์เสียงพื้นหลัง
- เมื่อไฟล์ถูกนำเข้ามาแล้ว เราจะสามารถใช้ไฟล์เหล่านั้นในเกมได้ โดยการลากไฟล์ไปวางในส่วน Hierarchy หรือ Scene
การเคลื่อนที่ของวัตถุ 2D
ในเกม 2D วัตถุสามารถเคลื่อนที่ได้ทั้งในแนวแกน X (แนวนอน) และแนวแกน Y (แนวตั้ง) เราสามารถเขียนโค้ดเพื่อควบคุมการเคลื่อนไหวของวัตถุโดยใช้ภาษา C# ใน Unity ตัวอย่างเช่น:
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float speed = 5f;
void Update()
{
float moveX = Input.GetAxis("Horizontal") * speed * Time.deltaTime;
float moveY = Input.GetAxis("Vertical") * speed * Time.deltaTime;
transform.Translate(new Vector2(moveX, moveY));
}
}
ในตัวอย่างนี้ เราสร้างสคริปต์เพื่อควบคุมการเคลื่อนที่ของตัวละคร (Sprite) โดยใช้คีย์บอร์ด เมื่อผู้เล่นกดปุ่มลูกศรบนแป้นพิมพ์ ตัวละครจะเคลื่อนที่ไปตามแกน X และ Y ตามค่าความเร็วที่กำหนดไว้
การจัดการ Layer ของวัตถุ
ในการพัฒนาเกม 2D วัตถุในเกมอาจมีหลายชั้น (Layers) ซึ่งจะช่วยให้เราจัดเรียงตำแหน่งของวัตถุได้อย่างถูกต้อง ตัวอย่างเช่น ฉากหลัง (Background) ควรอยู่หลังตัวละครหลักเสมอ เราสามารถจัดการ Layer ได้ดังนี้:
- คลิกเลือกวัตถุที่ต้องการใน Hierarchy
- ไปที่แถบ Inspector และเลือก Sorting Layer (เลเยอร์การจัดเรียง)
- เลือกหรือสร้าง Sorting Layer ใหม่เพื่อกำหนดลำดับการแสดงผลของวัตถุ