Scripting in Unity: Un'Introduzione a C# e ai Componenti

Unity

Unity è un game engine costruito attorno a un potente paradigma: l'Architettura a Componenti. Invece di usare una complessa gerarchia di ereditarietà, ogni "cosa" nel tuo gioco (un giocatore, un nemico, una luce) è un GameObject.

Un GameObject è un contenitore vuoto. Le sue funzionalità sono definite dai Componenti che gli "attacchi". Un GameObject "Giocatore" potrebbe avere:

  • Un componente `Transform` (per la posizione e la rotazione).
  • Un componente `Mesh Renderer` (per avere un aspetto visivo).
  • Un componente `Rigidbody` (per interagire con la fisica).
  • Uno script C# personalizzato (un componente `PlayerController`).

Lo Scripting C# come Componente

In Unity, anche i tuoi script sono componenti. Si scrive una classe in C# che eredita da `MonoBehaviour`. Questa classe può essere trascinata su un GameObject nell'editor.

Il "ponte" tra l'engine e il tuo codice avviene tramite metodi speciali che vengono chiamati automaticamente dal game loop di Unity:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float moveSpeed = 10f;

    // Chiamato una sola volta quando l'oggetto viene creato
    void Start()
    {
        // Logica di inizializzazione
    }

    // Chiamato a ogni singolo frame
    void Update()
    {
        // Logica del gioco, come la lettura dell'input
        float horizontal = Input.GetAxis("Horizontal");
        transform.Translate(horizontal * moveSpeed * Time.deltaTime, 0, 0);
    }
}

Questa architettura modulare rende Unity incredibilmente flessibile e facile da prototipare, permettendo a designer e programmatori di collaborare facilmente.

Hai bisogno di una soluzione su misura?

Dalla Web App al gestionale custom, trasformiamo le tue idee in software performante. Contattaci per una consulenza gratuita.

Richiedi una consulenza