1.锚点(Anchors)的理解
每个锚点(Anchor)手柄都一个相对于游戏对象固定的偏移量,也就是说左上角的锚点手柄对应于GUI游戏物体的左上角有一个固定的偏移量。轴心点(Pivot)规定了游戏物体的位置和锚点的对应关系。
2.图像(Image)与原始图像(Raw Image)
区别:1.图像控件需要Sprite类型的纹理,原始图像可以接受任何类型的纹理。2.图像控件提供了更多选项的动画控制和准确填充控件的功能。而原始图像控件则不具备。
相同点:都是用来显示非交互图像控件,可以用于装饰或图标等。
3.遮罩(Mask)
遮罩将子元素限制为父物体的形状。如果子物体大于父物体将只显示和父物体大小相同的那一部分。Mask通常和Image控件组合使用。
4.按钮事件
4.1按钮添加
首先,向场景中,添加Canvas组件。
设计好场景的UI,并编辑好对应的脚本MenuScript,然后将脚本的功能函数与场景的中的Button一一对应。以Exit按钮为例,On Click下选择“+”,因为需要使用StartMenu上的组件---脚本
MenuScript,因此将StartMenu拖入OnClick,最后选择对应的函数,具体设置如下图。
GUI按钮示例目录:
MenuScript代码如下:
using UnityEngine;
using System.Collections;
using UnityEngine.UI; //调用Unity引擎中的UI类库
public class MenuScript : MonoBehaviour {
public Canvas startCanvas;
public Canvas quitCanvas;
public Button startText;
public Button quitText;
public GameObject mainCamera;
// Use this for initialization
void Start () {
startCanvas.enabled = true;
quitCanvas.enabled = false;
}
//退出按钮操作
public void ExitPress()
{
quitCanvas.enabled = true;
startCanvas.enabled = false;
startText.enabled = false;
quitText.enabled = false;
}
public void NoPress ()
{
quitCanvas.enabled = false;
startCanvas.enabled = true;
startText.enabled = true;
quitText.enabled = true;
}
public void StartLevel()
{
this.gameObject.active = false;
quitCanvas.enabled = false;
mainCamera.active = false;
}
public void ExitGame()
{
Application.Quit ();
}
// Update is called once per frame
void Update () {
}
}
效果如下图:
实现了点击“EXIT”时,弹出窗口
总结:在U3D中,创建按钮事件时,先讲场景布局好,在将按钮逻辑处理脚本写好,最后,将脚本中的按钮处理函数通过button中的On click()下选择“+”,逻辑处理脚本与场景的按钮一一对应起来,从而实现按钮的功能。