Unity - 按钮

在本章中,我们将了解如何将UI元素插入到场景中并开始使用它们.

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

创建UI按钮

请记住,在叠加渲染模式(这是默认模式)中,画布的大小独立于相机的大小.你可以点击游戏标签进行测试.

叠加渲染模式

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

按钮需要在UI中实际有用的功能.此功能可以通过其属性添加.

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

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

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

注意 : 这种方法必须公开;否则Button的功能就不会注意到它.

让我们创建一个空的GameObject并将此脚本附加到它上面.我们这样做是因为按钮本身不会做任何事情;它只在其脚本中调用指定的方法.

empty GameObject

现在,进入Button的属性,找到 OnClick()属性.

OnClick() Property

点击底部标签上的+图标,新条目应显示在列表中.

New Entry

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

拖放空的GameObject,其中包含 ButtonManager 我们在无(对象)插槽中创建的脚本.

无对象槽

导航无功能下拉列表,并查找我们的 OnButtonPress 方法. (请记住,它可以命名任何你想要的名称,OnButtonPress只是一个标准化的命名约定.)你应该在 ButtonBehaviour 部分找到它.

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