Oprettelse af en simpel 2D-platform i Unity

I denne tutorial vil vi skabe en grundlæggende 2D-platformer i Unity. Dette vil involvere at skabe en spillerkarakter, der kan bevæge sig, hoppe og interagere med platforme. Vi vil også tilføje nogle grundlæggende spilelementer som forhindringer og samleobjekter.

1. Opsætning af projektet

Lad os starte med at opsætte et nyt Unity 2D-projekt:

  1. Åbn Unity og opret et nyt 2D-projekt.
  2. Gå til File > New Scene og vælg 2D Mode.
  3. Gem scenen som MainScene.

2. Oprettelse af spillerkarakteren

Vi vil først skabe en simpel spillerkarakter ved hjælp af en sprite og tilføje bevægelsesfunktionalitet:

  1. Højreklik i vinduet Hierarchy og vælg Create Empty. Navngiv dette objekt Player.
  2. Tilføj en Sprite Renderer-komponent til Player-objektet ved at klikke på Add Component i Inspector.
  3. Vælg en sprite, der skal bruges som karakter, enten ved at oprette din egen eller importere et 2D-aktiv fra Unity Asset Store.
  4. Tilføj en Rigidbody2D og en BoxCollider2D til Player-objektet for fysik og kollisionsdetektion.

3. At skrive Player Movement Script

Lad os nu skrive et script, så spilleren kan bevæge sig og hoppe. Følg disse trin:

  1. Højreklik i vinduet Project og vælg Create > C# Script. Navngiv den PlayerController.
  2. Vedhæft dette script til afspillerobjektet ved at trække det fra projektvinduet til afspilleren i hierarkiet.

Erstat indholdet af scriptet med følgende:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 5f;
    public float jumpForce = 7f;
    private Rigidbody2D rb;
    private bool isGrounded = true;

    void Start()
    {
        rb = GetComponent();
    }

    void Update()
    {
        // Player movement
        float moveInput = Input.GetAxis("Horizontal");
        rb.velocity = new Vector2(moveInput * moveSpeed, rb.velocity.y);

        // Jumping
        if (Input.GetKeyDown(KeyCode.Space) && isGrounded)
        {
            rb.velocity = new Vector2(rb.velocity.x, jumpForce);
            isGrounded = false;
        }
    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        // Check if player is touching the ground
        if (collision.collider.CompareTag("Ground"))
        {
            isGrounded = true;
        }
    }
}

4. At skabe platforme og miljø

Nu vil vi skabe platforme, som spilleren kan hoppe på:

  1. I hierarkiet skal du højreklikke og vælge Opret tom, og derefter navngive den Platform.
  2. Tilføj en BoxCollider2D og Sprite Renderer til platformen.
  3. Vælg en sprite til platformen (f.eks. et fladt rektangel).
  4. Dupliker platformen ved at trykke på Ctrl+D (eller Cmd+D på Mac) og placer kopierne for at skabe et niveau.
  5. Tag disse objekter som Ground i Inspector for spillerens springlogik.

5. Tilføjelse af forhindringer

For at gøre spillet mere udfordrende, lad os tilføje nogle forhindringer:

  • Opret endnu et tomt GameObject og navngiv det Obstacle.
  • Tilføj en BoxCollider2D og Sprite Renderer til dette objekt.
  • Vælg en sprite til forhindringen (f.eks. en spids eller fare).
  • I spillerens OnCollisionEnter2D-metode kan du registrere kollisioner med forhindringer og genstarte spillet eller trække sundhed fra.

6. Tilføjelse af samleobjekter

Vi kan også tilføje samleobjekter, såsom mønter eller power-ups:

  • Opret endnu et tomt GameObject og navngiv det Collectible.
  • Tilføj en CircleCollider2D (indstil den som en trigger) og en Sprite Renderer for at repræsentere samleobjektet.
  • Skriv et simpelt script for at registrere, hvornår spilleren samler en genstand:
using UnityEngine;

public class Collectible : MonoBehaviour
{
    private void OnTriggerEnter2D(Collider2D other)
    {
        if (other.CompareTag("Player"))
        {
            // Add points or other effects here
            Destroy(gameObject); // Remove the collectible from the scene
        }
    }
}

7. Test og finjustering af spillet

Nu hvor den grundlæggende mekanik er på plads, kan du teste spillet ved at trykke på Play-knappen. Prøv at justere følgende:

  • Rediger værdierne moveSpeed og jumpForce for at justere, hvor hurtigt spilleren bevæger sig og hopper.
  • Dupliker platforme og forhindringer for at skabe forskellige niveauer.
  • Tilføj baggrundselementer eller dekorationer for at gøre spillet visuelt tiltalende.

8. Forbedring af platformen

For at tage din platformer til næste niveau, overvej at tilføje:

  • Animationer til spilleren, såsom gang- og hoppeanimationer.
  • Lydeffekter til at hoppe, samle genstande og ramme forhindringer.
  • Et kamera, der følger spillerens bevægelser for en mere dynamisk visning af spillet.

Konklusion

Med denne enkle 2D platformer opsætning har du nu en grundlæggende spilstruktur, der kan udvides med flere funktioner, niveauer og polering. Eksperimenter med forskellige mekanikker og skab din egen unikke platformer.