Unity - 按钮



在本章中,我们将学习如何将UI元素插入到我们的场景中以及如何操作它们。

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

Create UI Button

请记住,在默认模式叠加渲染模式下,画布的大小与摄像机的大小无关。您可以通过单击游戏选项卡来测试这一点。

Overlay Rendering Mode

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

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

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

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

我们创建了一个简单的函数,记录我们点击按钮的次数。

注意 − 此函数必须是公开的;否则,按钮的功能将无法识别它。

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

empty GameObject

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

OnClick() Property

点击底部选项卡上的+图标,列表中应该会出现一个新条目。

New Entry

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

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

None Object slot

导航无函数下拉列表,查找我们的OnButtonPress函数。(记住它可以命名为任何你想要的名字,OnButtonPress只是一个标准化的命名约定。)你应该在ButtonBehaviour部分找到它。

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

广告