Unity - 按钮

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

让我们从 按钮 开始。要插入按钮,请在场景层次结构中单击鼠标右键,然后转到 创建 → UI → 按钮。如果您没有现有的画布和事件系统,Unity 将自动为您创建一个,并将按钮也放在画布内。

创建 UI 按钮

请记住,在 覆盖 渲染模式(即默认模式)中,画布的大小与相机的大小无关。您可以通过单击 游戏 选项卡来测试这一点。

叠加渲染模式

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

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

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

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

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

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

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

empty GameObject

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

OnClick() Property

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

New Entry

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

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

None Object slot

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

如果您现在玩游戏,您可以测试按钮,并且控制台肯定会打印出您按下按钮的次数。