📜  Unity-按钮

📅  最后修改于: 2020-10-29 04:22:43             🧑  作者: Mango


在本章中,我们将获得如何将UI元素插入场景并开始使用它们的工作。

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

创建UI按钮

请记住,在默认模式的“叠加”渲染模式下,“画布”的大小与摄影机的大小无关。您可以通过单击“游戏”选项卡进行测试。

叠加渲染模式

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

按钮要求功能在UI中实际上是有用的。可以通过其属性添加此功能。

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

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

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

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

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

空的GameObject

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

OnClick()属性

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

新条目

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

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

无对象插槽

浏览“无功能”下拉列表,然后寻找我们的OnButtonPress方法。 (请记住,可以将其命名为任意名称,OnButtonPress只是一个标准化的命名约定。)您应该在ButtonBehaviour部分中找到它。

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