Die Schaltfläche bleibt nach dem Klicken hervorgehoben - Unity3D 4.6 GUI


8

Manchmal bleibt die Schaltfläche nach dem Klicken auf eine Schaltfläche, die mit der neuen UI-Schaltfläche von Unity erstellt wurde, im hervorgehobenen Zustand. Beachten Sie, dass das Button-Skript Color Tintals TransitionEigenschaft festgelegt wurde und das InteractableKontrollkästchen aktiviert ist.

Wie kann ich das lösen?

unity  gui  xna  c#  lighting  unity  scripting  scene  npc  xna  models  blender  java  android  game-design  libgdx  architecture  client-server  client  animation  skeletal-animation  graph  input  pygame  music  game-design  component-based  game-maker  java  collision-detection  slick  java  android  leaderboards  google-play-services  java  lwjgl  vbo  flash  actionscript-3  flash-develop  java  android  multithreading  loading  project-management  version-control  teamwork  java  2d  collision-detection  vector  collision-resolution  unity  directx  directx11  directx10  xna  ios  monogame  windows-phone-8  xamarin  design-patterns  oop  xna  collision-detection  collision-resolution  bounding-boxes  rotation  collision-detection  mathematics  javascript  algorithm  separating-axis-theorem  xna  2d  monogame  image  xna  directx  graphics  performance  opengl  2d  3d  c++  directx11  unity  c#  scale  c#  xna  collision-detection  collision-resolution  leaderboards  scoring  glsl  srgb  tilemap  three.js  tiled  unity  physics  xml  dialog-tree  xna  c#  .net  opengl  lwjgl  vbo  physics  graphics  procedural-generation  simulations  water  opengl  java  textures  lwjgl  frame-buffer  unity  unity  2d  collision-detection  collision-resolution  trigonometry  java  android  libgdx  xna  c#  frame-rate  c++  unreal-4  procedural-generation  java  graphics  lwjgl  slick  c++  software-engineering 

Antworten:


12

Die NavigationEigenschaft von Schaltflächen ist Automaticstandardmäßig festgelegt, sodass Sie mit den Pfeiltasten durch die Schaltflächen navigieren können.

Wenn Sie dies deaktivieren, indem Sie die NavigationEigenschaft in ändern None, bleiben die Schaltflächen nicht hervorgehoben.


Etwas wichtig , um es hinzuzufügen: Wenn Sie das Set Navigationan None, Sie 1. nicht Ihre Tastatur verwenden oder Controller zu navigieren zu / von ihm und 2. versuchen , es zu bekommen , GameObject.Findwerden irgendeine Art von Objekt zurück, das nicht wirklich brauchbar ist weil alles daran ist null. Im Grunde genommen: Wenn Sie verwenden None, müssen Sie die Schaltfläche entweder auf eine öffentliche Variable im Inspektor ziehen oder die Schaltfläche zur Laufzeit instanziieren, um eine funktionierende Referenz darauf zu erhalten. Getestet mit Unity 2017.3.1f1.
Neph

1

(Zusätzlich zur akzeptierten Antwort ist dies eine weitere Antwort, wenn Sie die NavigationEigenschaft von Schaltflächen Nonein Ihrem Kontext nicht festlegen können .)

Sie können UnityEngine.EventSystem.SetSelectedGameObjectdie Schaltfläche auch manuell deaktivieren. Zum Beispiel:

private void DeselectClickedButton(GameObject button)
{
    if (EventSystem.current.currentSelectedGameObject == button)
    {
        EventSystem.current.SetSelectedGameObject(null);
    }
}
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.