Toetsenbord- en muisinvoer in Unity implementeren

Door toetsenbord- en muisinvoer te implementeren in Unity kunnen ontwikkelaars gebruikers-interacties vastleggen en de game of applicatie besturen. Unity biedt verschillende methoden en gebeurtenissen om toetsenbord- en muisinvoer te verwerken. Hier is een overzicht van de implementatie van toetsenbord- en muisinvoer in Unity:

Toetsenbord invoer

Om toetsenbordinvoer vast te leggen kunnen ontwikkelaars de klasse 'Input' gebruiken die wordt geleverd door Unity. De methoden 'Input.GetKey' of 'Input.GetKeyDown' controleren of een specifieke toets momenteel wordt ingedrukt of is ingedrukt. Hier is een voorbeeld:

void Update()
{
    if (Input.GetKey(KeyCode.Space))
    {
        // Space key is being held down
    }

    if (Input.GetKeyDown(KeyCode.Escape))
    {
        // Escape key has been pressed
    }
}

In dit voorbeeld wordt de methode 'Update' elk frame aangeroepen en controleren we of de spatietoets ingedrukt wordt gehouden met behulp van 'Input.GetKey' en als de Escape-toets wordt ingedrukt met behulp van 'Input.GetKeyDown'.

Muisinvoer

Om muisinvoer vast te leggen, kunnen ontwikkelaars ook de klasse 'Input' gebruiken. Unity biedt verschillende methoden en eigenschappen om muisinteracties af te handelen, zoals 'Input.mousePosition', 'Input.GetMouseButtonDown' en 'Invoer.GetMouseButton'. Hier is een voorbeeld:

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        // Left mouse button has been pressed
    }

    if (Input.GetMouseButton(1))
    {
        // Right mouse button is being held down
    }

    Vector3 mousePosition = Input.mousePosition;
    // Get the current position of the mouse cursor
}

In dit voorbeeld wordt de methode 'Update' gebruikt om muisknopaanslagen te detecteren met behulp van de 'Input.GetMouseButtonDown'. Controleer of een muisknop is ingedrukt gehouden worden met de 'Input.GetMouseButton', en verkrijg de huidige positie van de muiscursor met behulp van de 'Input. muisPositie'.

Op gebeurtenissen gebaseerde invoer

Unity biedt ook op gebeurtenissen gebaseerde invoerverwerking via de component 'EventSystem' en de component 'EventTrigger'. Met deze aanpak kunnen ontwikkelaars functies definiëren die worden aangeroepen als reactie op specifieke gebeurtenissen, zoals klikken op knoppen of muisbewegingen. Ontwikkelaars kunnen de component 'EventTrigger' gebruiken om gebeurtenissen te definiëren in de Unity Editor, en vervolgens functies schrijven om die gebeurtenissen af ​​te handelen in de code.

Invoerassen

Unity Met Input Manager kunnen ontwikkelaars aangepaste invoerassen definiëren voor complexere invoerconfiguraties. Dit is handig voor het verwerken van analoge invoer, zoals joysticks of gamepads. Invoerassen zijn toegankelijk met behulp van de methoden 'Input.GetAxis' of de 'Input.GetAxisRaw'.

Conclusie

Dit zijn enkele basistechnieken voor het implementeren van toetsenbord- en muisinvoer in Unity. Afhankelijk van de specifieke vereisten kunnen ontwikkelaars de bovenstaande methoden combineren, om verschillende toets- of muisknopinvoer te verwerken en om aangepaste interacties binnen de game of applicatie te implementeren. Vergeet niet om de invoer af te handelen met de juiste updatemethoden (bijvoorbeeld 'Update', 'FixedUpdate') op basis van de vereisten.

Voorgestelde artikelen
Update versus LateUpdate
Update versus Vaste Update
Inleiding tot staatsmachine in eenheid
Objectpooling in eenheid implementeren
Teleportatie implementeren in Unity
Overerving en polymorfisme implementeren in Unity Code
Kinetische interacties in eenheid implementeren