【Unity 3D】学习笔记十二:GUILayout(界面布局)

Unity 学习笔记十二

 

学习资料:《Unity 3D游戏开发》 宣雨松

 

在跨平台游戏界面设定的时候,最麻烦的估计就是得匹配个个游戏平台的分辨率。甚至相同的平台也会有不同的分辨率。这无疑很浪费时间和精力。因此,在设计游戏界面的时候,千万不要使用绝对坐标。不然当分辨率发生变化后,就得重新计算坐标。

为此GUI提出一个游戏布局的概念,并且在布局中的所有坐标都是相对坐标。这有利于跨平台实现。

GUI与GUILayout的区别:

      在GUI中,控件的显示区域是通过rect()方法来实现,这样设置非常不灵活,因为这样的坐标大小就固定死了,如果控件中的显示内容发生改变,就会影响显示效果。

       是用GUILayout无需设定显示区域,系统会自动帮我们计算控件显示区域,并保证不重叠和影响里面的显示效果。在前面几篇博文介绍的控件都是可以用GUILayout来实现的。

       为了更好的区别这两种布局,接下来,分别用GUILayout和GUI来实现两个按钮。代码如下:

 

var addStr :String = "添加测试字符串";

function OnGUI () 
{
	//普通GUI按钮
   if(GUI.Button (Rect (50,50,120,40), addStr))
   {
   		addStr +=addStr;
   	} 
	//界面布局按钮
   if(GUILayout.Button (addStr))
   {
   		addStr +=addStr;
   	} 
   	
}
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值