Nút vẫn được tô sáng sau khi được nhấp - Unity3D 4.6 GUI


8

Đôi khi, sau khi nhấp vào nút được tạo bởi Nút UI mới của unity, nút này vẫn ở trạng thái nổi bật. Lưu ý rằng Tập lệnh nút đã Color Tintđược đặt làm thuộc Transitiontính và Interactablehộp kiểm được chọn.

Làm sao tôi có thể giải quyết việc này?

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 

Câu trả lời:


12

Các Navigationtài sản của các nút được thiết lập để Automatictheo mặc định, cho phép bạn điều hướng thông qua các nút sử dụng các phím mũi tên.

Nếu bạn tắt tính năng này bằng cách thay đổi thuộc Navigationtính thành None, các nút sẽ không được tô sáng.


Một cái gì đó quan trọng để thêm vào nó: Nếu bạn đặt Navigationvào None, bạn 1. không thể sử dụng bàn phím của bạn hoặc điều khiển để điều hướng đến / từ nó và 2. cố gắng để có được nó bằng GameObject.Findsẽ trở lại một số loại đối tượng đó không phải là thực sự có ích bởi vì tất cả mọi thứ về nó là null. Về cơ bản: Nếu bạn sử dụng None, bạn phải kéo nút vào một biến công khai trong Thanh tra hoặc khởi tạo nút khi chạy để có được tham chiếu chức năng cho nó. Đã thử nghiệm với Unity 2017.3.1f1.
Cháu

1

(Ngoài câu trả lời được chấp nhận, đây là một câu trả lời khác nếu bạn không thể đặt thuộc Navigationtính của các nút thành Nonetrong ngữ cảnh của mình.)

Bạn cũng có thể sử dụng UnityEngine.EventSystem.SetSelectedGameObjectđể bỏ chọn nút thủ công. Ví dụ:

private void DeselectClickedButton(GameObject button)
{
    if (EventSystem.current.currentSelectedGameObject == button)
    {
        EventSystem.current.SetSelectedGameObject(null);
    }
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.