Jump to content
Unity Insider Forum
Sign in to follow this  
Larsimoto

Button wieder aktivieren

Recommended Posts

Hey, 

ich hab ein kleines Problem.

Ich möchte nachdem ich mein Button(Energie) angeklickt und ich ihn somit deaktiviert habe, beim zweiten klicken wieder aktivieren.

Würde mich über schnellstmöglcihe Hilfe sehr freuen :)

Mein Bisheriges skript lauetet so:

using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class NutzerEingabe : MonoBehaviour
{  public Boolean res00Energie;

   public Button BEnergie;

}

void Start()
    {
        res00Energie = false;

}

 public void SetEnergie()
    {

        res00Energie = !res00Energie;

}

}

 

Share this post


Link to post
Share on other sites

Kleiner Tipp: Schreibe deinen Code zukünftig einfach in das Code-Tag dann sieht es lesbarer aus:

Mein Code

 

Also ersteinmal sollte die Klammer nach "public Button BEnergie;" weg. Denn du schließt sonst direkt deine Klasse wieder obwohl danach ja noch Methoden kommen. Das kann denke ich mal nicht gewollt sein und es müsste dir auch einen Fehler werfen.

Um Interargierbare UI Elemente wie einen Button zu deaktivieren kannst und die interactable Eigenschaft des Buttons auf false setzen und wenn du wieder aktivieren willst auf True.  Nur kannst du den Button wenn er deaktiviert ist ja nicht wieder klicken um ihn zu aktivieren. Deswegen meine Frage: Was genau hast du überhaupt vor? Bzw. was meinst du dann mit Aktivieren oder Deaktivieren?

Share this post


Link to post
Share on other sites
Am 24.7.2018 um 09:08 schrieb Helishcoffe:

Kleiner Tipp: Schreibe deinen Code zukünftig einfach in das Code-Tag dann sieht es lesbarer aus:


Mein Code

 

Also ersteinmal sollte die Klammer nach "public Button BEnergie;" weg. Denn du schließt sonst direkt deine Klasse wieder obwohl danach ja noch Methoden kommen. Das kann denke ich mal nicht gewollt sein und es müsste dir auch einen Fehler werfen.

Um Interargierbare UI Elemente wie einen Button zu deaktivieren kannst und die interactable Eigenschaft des Buttons auf false setzen und wenn du wieder aktivieren willst auf True.  Nur kannst du den Button wenn er deaktiviert ist ja nicht wieder klicken um ihn zu aktivieren. Deswegen meine Frage: Was genau hast du überhaupt vor? Bzw. was meinst du dann mit Aktivieren oder Deaktivieren?

danke erst einmal für den Tipp.

Ich möchte den Button bei anklicken ausgewählt haben und das sich damit auch seine Farbe verändert.

Wenn ich den Button dann nochmals anklicke, soll die Sowohl die Auswahl als auch die Farbe wieder aufgehoben sein.

Ich komm mit den Befehlen im Skript einfach nicht weiter.

Danke :)

Share this post


Link to post
Share on other sites

nunja du hast ja schon deine Variable die du mit SetEnergie switcht. Die Musst du jetzt nur noch an der Richtigen Stelle Aufrufen. In Start() kannst du dem Button ein EventHandler hinzufügen:

BEnergie.onClick.AddListener(delegate {

	// Code hier drin wird beim Klicken ausgeführt.
});

Dort musst du jetzt nur noch SetEnergie() aufrufen. Alternativ kannst du natürlich auch die Funktion SetEnergie im Inspector des Buttons zuweisen bei onClick.

Die Farbe des Buttons kannst du nun mit 

EButton.GetComponent<Image>().color = Color.Red // Oder irgendeine Andere Farbe

Verändern (Am Besten auch in SetEnergie)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...