บทที่ 1: การสร้างวัตถุในเกม 2D

ในบทนี้เราจะเรียนรู้การสร้างและจัดการวัตถุในเกม 2D ซึ่งเป็นพื้นฐานในการพัฒนาเกมแบบสองมิติ (2D) โดยใช้ Unity


การสร้าง Sprite

Sprite คือภาพสองมิติที่ใช้แทนตัวละครหรือวัตถุในเกม ใน Unity เราสามารถสร้าง Sprite ได้อย่างง่ายดายตามขั้นตอนดังนี้:

  1. เปิดโปรเจกต์ 2D ที่เราได้สร้างไว้ในบทก่อน
  2. ไปที่เมนู Assets > Create > Sprite > เลือกประเภทของ Sprite ที่ต้องการ เช่น Square หรือ Circle 
  3. เมื่อสร้าง Sprite เสร็จแล้ว เราสามารถลาก Sprite ไปวางในส่วน Scene เพื่อแสดงผลในหน้าจอเกม

การนำเข้าสื่อ (Sprites, Sounds)

ใน Unity เราสามารถนำเข้าภาพและเสียงที่ต้องการใช้ในเกมได้จากไฟล์ที่มีอยู่บนคอมพิวเตอร์ของเรา โดยทำตามขั้นตอนดังนี้:

  1. ไปที่เมนู Assets > Import New Asset 
  2. เลือกไฟล์ภาพหรือเสียงที่ต้องการนำเข้า เช่น ไฟล์รูปตัวละครหรือไฟล์เสียงพื้นหลัง
  3. เมื่อไฟล์ถูกนำเข้ามาแล้ว เราจะสามารถใช้ไฟล์เหล่านั้นในเกมได้ โดยการลากไฟล์ไปวางในส่วน 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 ได้ดังนี้:

  1. คลิกเลือกวัตถุที่ต้องการใน Hierarchy
  2. ไปที่แถบ Inspector และเลือก Sorting Layer (เลเยอร์การจัดเรียง)
  3. เลือกหรือสร้าง Sorting Layer ใหม่เพื่อกำหนดลำดับการแสดงผลของวัตถุ

Free Joomla templates by Ltheme