简述
在本章中,我们将学习如何将 UI 元素插入到我们的场景中并开始使用它们。
让我们从一个开始Button. 要插入按钮,请右键单击场景层次结构并转到Create → UI → Button. 如果您没有现有的 Canvas 和 EventSystem,Unity 会自动为您创建一个,并将按钮也放在 Canvas 内。
请记住,在Overlay渲染模式,这是默认模式,Canvas的大小与相机的大小无关。您可以通过单击Game标签。
如果您播放场景,您会注意到该按钮已经具有一些标准功能,例如检测鼠标何时悬停在其上,并在按下时更改颜色。
按钮需要功能才能在 UI 中真正有用。可以通过其属性添加此功能。
让我们创建一个新脚本,并调用它ButtonBehaviour.
public class ButtonBehaviour : MonoBehaviour {
int n;
public void OnButtonPress(){
n++;
Debug.Log("Button clicked " + n + " times.");
}
}
我们制作了一个简单的方法来记录我们按下按钮的次数。
注意− 该方法必须是公开的;否则按钮的功能不会注意到它。
让我们创建一个空的 GameObject 并将这个脚本附加到它上面。我们这样做是因为按钮本身不会做任何事情;它只在其脚本中调用指定的方法。
现在,进入按钮的属性,找到OnClick()财产。
点击底部选项卡上的 + 图标,列表中应该会出现一个新条目。
此条目定义按钮按下作用于哪个对象,以及调用该对象脚本的哪个函数。由于按钮按下中使用的事件系统,您只需将它们添加到列表中即可触发多个功能。
拖放空的 GameObject,其中包含ButtonManager我们创建的脚本,放到None (Object)投币口。
导航No Function下拉列表,然后查找我们的OnButtonPress方法。(请记住,它可以任意命名,OnButtonPress 只是一个标准化的命名约定。)您应该在ButtonBehaviour部分。
如果您现在玩游戏,您可以测试按钮,并且可以肯定的是,控制台会打印出您按下按钮的次数。