Creare Videogiochi - Game Developer
Script C# problema GUI.Button - Versione stampabile

+- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi)
+-- Forum: Unity3D Italia (https://www.making-videogames.net/giochi/Forum-Unity3D-Italia)
+--- Forum: Richieste di Aiuto per Unity 3D (https://www.making-videogames.net/giochi/Forum-Richieste-di-Aiuto-per-Unity-3D)
+--- Discussione: Script C# problema GUI.Button (/thread-Script-C-problema-GUI-Button)



Script C# problema GUI.Button - Requiem99 - 30-04-2014

Buongiorno!
Ho scritto questo codice in C#, che crea un pulsante cliccabile dall'utente (grazie alla funzione gui.button). Una volta premuto viene aggiunto alla variabile somma un numero stabilito in precedenza. Fin qui tutto ok.

Vorrei però fare in modo che se il tasto viene premuto una seconda volta, anzichè aggiungere nuovamente quel valore alla somma, lo sottraesse, e così via. Però non saprei proprio come gestire questo caso. Ringrazio tanto chi vorrà aiutarmi! Smile

Codice:
        if (GUI.Button(new Rect(10,40,100,50), "" + number1)){
            somma=somma+number1;
            Debug.Log("La somma è: " + somma);
        }



RE: Script C# problema GUI.Button - adriqueru99 - 30-04-2014

se ho capito bene quello che hai detto,dovresti creare una boolean


RE: Script C# problema GUI.Button - Requiem99 - 30-04-2014

(30-04-2014, 04:31 PM)adriqueru99 Ha scritto: se ho capito bene quello che hai detto,dovresti creare una boolean
Si, ti ringrazio. Effettivamente credo proprio di aver trovato una soluzione usando una variabile di tipo bool. Proverò e farò sapere Smile

EDIT:
Ecco il codice funzionanteSmile
Codice:
private bool _isClicked;
    void OnGui()
    {
    if (GUI.Button(new Rect(10,40,100,50), "" + number1))
    {
    if(!_isClicked)
    {
    somma += number1;
    _isClicked = true;
    }
    else
    {
    somma -= number1;
    _isClicked = false;
    }
    Debug.Log("La somma è: " + somma);
    }
    }



RE: Script C# problema GUI.Button - adriqueru99 - 30-04-2014

Bravo! Ben fatto!