• Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
    • Categorie

      • Sviluppo
        • Linguaggio di programmazione
          • C#
          • C++
          • Javascript
          • Lua
        • Videogiochi
          • LOVE2D
          • Phaser 3
          • RayLib
          • Unity3D
          • Unreal Engine
        • Web
          • Backend
            • PHP e MySQL
          • CMS
          • Frontend
            • CSS
            • Html
            • Javascript
    • Login

Cerca

Hai qualche domanda?
contact@develop4fun.com
Develop4fun
  • Home
  • Corsi

    Informazioni sui corsi

    • Tutti i corsi
    • Diventa un insegnante
    • Profilo insegnante
    Fondamenti di programmazione: le basi del linguaggio C++

    Fondamenti di programmazione: le basi del linguaggio C++

    €29.99
    Read More
    D4F Games
  • Develop4fun
    • Chi siamo
    • Portfolio
    • Eventi
    • Galleria
    • Negozio
    • FAQ
  • Articoli
  • Contattaci
    • Categorie

      • Sviluppo
        • Linguaggio di programmazione
          • C#
          • C++
          • Javascript
          • Lua
        • Videogiochi
          • LOVE2D
          • Phaser 3
          • RayLib
          • Unity3D
          • Unreal Engine
        • Web
          • Backend
            • PHP e MySQL
          • CMS
          • Frontend
            • CSS
            • Html
            • Javascript
    • Login

Attualità

Home » Articoli » È meglio… GetMouseButtonDown o GetKeyDown?

È meglio… GetMouseButtonDown o GetKeyDown?

  • Pubblicato da Antonella De Chiara
  • Categorie Attualità, C#, Linguaggi di Programmazione, PC, Programmazione Videogiochi, Unity
  • Data 18 Giugno 2019
  • Commenti 0 commenti
Unity
(Ultimo aggiornamento: 28 Settembre 2021)

Oggi confrontiamo GetMouseButtonDown e GetKeyDown! Quale di questi due metodi può essere utilizzato per rilevare i clic del mouse del giocatore? Questo è quello che vedremo oggi!

Effettuare delle azioni dopo un clic, in un gioco, è un’azione abbastanza corrente. Il framework Unity non fa eccezione.

È possibile individuare il clic del mouse, ad esempio, con Input.GetMouseButtonDown(0), precisando il numero del tasto che vogliamo specificare.

Input.GetMouseButtonDown(0) ritorna true quando l’utente ha premuto il pulsante del mouse indicato. È necessario chiamare questa funzione dall’Update, poiché lo stato viene resettato ad ogni frame. Non diventerà “true” fino a quando l’utente non avrà rilasciato il pulsante del mouse e/o premuto di nuovo.

0 corrisponde al clic di sinistra, 1 a quello di destra ecc.

Si può fare esattamente la stessa cosa con Input.GetMouseButtonDown(Keycode.Mouse0).

using UnityEngine;
using System.Collections;

// Rileva i clic dal mouse e mostra un messaggio
// a seconda del clic rilevato.

public class ExampleClass : MonoBehaviour
{
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
            Debug.Log("Premuto il tasto principale.");

        if (Input.GetMouseButtonDown(1))
            Debug.Log("Premuto il tasto secondario.");

        if (Input.GetMouseButtonDown(2))
            Debug.Log("Premuto il tasto centrale.");

        if (Input.GetKeyDown("space")) { 
            print("Premuto lo spazio della tastiera"); 
        }
    }
}

I due script funzionano esattamente allo stesso modo effettuando un clic col tasto sinistro del mouse. Allora quale fra i due metodi è meglio utilizzare?

L’abbiamo già visto, tecnicamente parlando non ci sono differenze. Si tratta piuttosto di una questione di preferenze e di leggibilità.

Da un lato, utilizzare GetMouseButtonDown per il mouse e GetKeyDown per la tastiera permette di fare la differenza in un colpo d’occhio.

D’altro canto, utilizzare GetKeyDown permette di immagazzinare tutte le informazioni in un unico luogo, consentendo così di potersene servire più facilmente.

Quindi ecco il verdetto, quale dei due è meglio? Risposta: nessuno dei due. È possibile utilizzare sia l’uno che l’altro, non c’è alcuna differenza tecnica, ma, come detto prima, si tratta unicamente di preferenze e abitudini di lettura.

Ricordatevi sempre che lo sviluppo di un videogioco è una forma d’arte.


I nostri corsi : https://www.develop4fun.it/premium-corsi-online-in-abbonamento

▼ SEGUICI SU ▼
» Facebook (italiano): https://www.facebook.com/develop4funwebdev
» Facebook (francese): https://www.facebook.com/developforfun
» Instagram: https://www.instagram.com/develop4fun
» Twitter: https://twitter.com/Develop4funW

» VISITA IL NOSTRO SITO WEB: https://www.develop4fun.it/
» ISCRIVITI SUBITO AL NOSTRO CANALE: https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Visualizzazioni post: 850

Tag:Gamedev, GetKeyDown, GetMouseButtonDown, programmare videogiochi, Programmatore

  • Share:

ABOUT INSTRUCTOR

Antonella De Chiara
Antonella De Chiara

Appassionata di giochi di ruolo giapponesi, genere che ha scoperto grazie alla saga Final Fantasy e approfondito con i capolavori usciti negli ultimi anni, s’interessa al retrogaming, rigiocando e programmando vecchie glorie come Monkey Island, Prince of Persia o vecchi capolavori marchiati Nintendo.
Antonella comincia il suo percorso giornalistico in Italia, lavorando con Gamerepublic, PS Mania e Pokémon Mania. Si trasferisce in Francia per studiare la programmazione web e gamedev: grazie a questo percorso anomalo nasce Develop4fun.

Articolo precedente

L'E3 2019 è cominciato!
18 Giugno 2019

Articolo successivo

Programmare in C# - Le Variabili
18 Giugno 2019

Ti potrebbe anche piacere

unity3d
Chi sono gli sviluppatori nel mondo dei videogiochi?
22 Novembre, 2021
[Unreal Engine] Un nuovo fantastico asset GRATUITO!
[Unreal Engine] Slay, un nuovo fantastico asset GRATUITO!
22 Settembre, 2021
Steam
Come pubblicare un videogioco su Steam?
21 Settembre, 2021

Lascia un commento Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Cerca

Impara a programmare videogiochi web con Phaser 3

Impara a programmare videogiochi web con Phaser 3

€49.99
HTML e CSS: Corso di programmazione per principianti

HTML e CSS: Corso di programmazione per principianti

€69.99
[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

[Lua & LOVE2D] Introduzione alla programmazione dei videogiochi

€49.99
D4F Games

Ultimi articoli pubblicati

unity3d
Chi sono gli sviluppatori nel mondo dei videogiochi?
22Nov2021
[Unreal Engine] Un nuovo fantastico asset GRATUITO!
[Unreal Engine] Slay, un nuovo fantastico asset GRATUITO!
22Set2021
Steam
Come pubblicare un videogioco su Steam?
21Set2021

Develop4fun.it by Develop4fun.

Gestisci Consenso Cookie
Usiamo cookie per ottimizzare il nostro sito web ed i nostri servizi.
Funzionale Sempre attivo
L'archiviazione tecnica o l'accesso sono strettamente necessari al fine legittimo di consentire l'uso di un servizio specifico esplicitamente richiesto dall'abbonato o dall'utente, o al solo scopo di effettuare la trasmissione di una comunicazione su una rete di comunicazione elettronica.
Preferenze
L'archiviazione tecnica o l'accesso sono necessari per lo scopo legittimo di memorizzare le preferenze che non sono richieste dall'abbonato o dall'utente.
Statistiche
L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici. L'archiviazione tecnica o l'accesso che viene utilizzato esclusivamente per scopi statistici anonimi. Senza un mandato di comparizione, una conformità volontaria da parte del vostro Fornitore di Servizi Internet, o ulteriori registrazioni da parte di terzi, le informazioni memorizzate o recuperate per questo scopo da sole non possono di solito essere utilizzate per l'identificazione.
Marketing
L'archiviazione tecnica o l'accesso sono necessari per creare profili di utenti per inviare pubblicità, o per tracciare l'utente su un sito web o su diversi siti web per scopi di marketing simili.
Gestisci opzioni Gestisci servizi Gestisci fornitori Per saperne di più su questi scopi
Preferenze
{title} {title} {title}