U3D之GUI开发

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()下选择“+”,逻辑处理脚本与场景的按钮一一对应起来,从而实现按钮的功能。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值