Unity - 按钮


在本章中,我们将学习如何将 UI 元素插入场景中并开始使用它们。

让我们从一个Button开始。要插入按钮,请在场景层次结构中右键单击,然后转到Create → UI → Button。如果您没有现有的 Canvas 和 EventSystem,Unity 会自动为您创建一个,并将按钮也放置在 Canvas 内。

创建用户界面按钮

请记住,在默认模式Overlay渲染模式下,Canvas 的大小与相机的大小无关。您可以通过单击“游戏”选项卡来测试这一点。

叠加渲染模式

如果您播放该场景,您会注意到该按钮已经具有一些标准功能,例如检测鼠标何时悬停在其上以及按下时改变颜色。

按钮需要功能在 UI 中真正有用。可以通过其属性添加此功能。

让我们创建一个新脚本,并将其命名为ButtonBehaviour

public class ButtonBehaviour : MonoBehaviour {
   int n;
   public void OnButtonPress(){
      n++;
      Debug.Log("Button clicked " + n + " times.");
   }
}

我们制作了一个简单的方法来记录我们点击按钮的次数。

注意- 此方法必须是公共的;否则按钮的功能不会注意到它。

让我们创建一个空的 GameObject 并将此脚本附加到它。我们这样做是因为按钮本身不会执行任何操作;它只调用其脚本中指定的方法。

空游戏对象

现在,进入按钮的属性,找到OnClick()属性。

OnClick() 属性

点击底部选项卡上的 + 图标,列表中应显示一个新条目。

新条目

此条目定义按下按钮所作用的对象,以及调用该对象脚本的哪个函数。由于按下按钮时使用了事件系统,您只需将多个功能添加到列表中即可触发它们。

将包含我们创建的ButtonManager脚本的空 GameObject 拖放到None(对象)插槽中。

无 对象槽

导航“No Function”下拉列表,然后查找我们的OnButtonPress方法。(请记住,它可以命名为您想要的任何名称,OnButtonPress 只是一个标准化的命名约定。)您应该在 ButtonBehaviour部分中找到它。

如果你现在玩游戏,你可以测试按钮,当然,控制台会打印出你按下按钮的次数。