注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[unity3d] GUI  

2011-02-25 21:00:07|  分类: 3d_unity |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
Unity3D 的 GUI 支持,UnityGUI。
https://docs.unity3d.com/Manual/GUIScriptingGuide.html

搞个简单的menu
1. 在 Project 面板编辑个 .js 脚本,写上:
function OnGUI () {
GUI.Box (Rect (10,10,100,90), "Loader Menu");

if (GUI.Button (Rect (20,40,80,20), "Level 1")) {
// do sth.
}
}

2. 把 .js 脚本文件拖到 Hierarchy面板 的 MainCamera 上。(将 Script attach 到一个 GameObject)
3. 然后点一下播放按钮:[unity3d] GUI - kasicass - Code@Pig Home
4. 就可以在 Game视图 看到你创作的 menu 啦
[unity3d] GUI - kasicass - Code@Pig Home
 
对于 Rect 参数,分别表示 (x, y, width, height)。

给button弄个图片
1. 搞个图片出来,拖到 Project面板内,让 Unity 自动将图片复制到 Asset 目录。
2. 然后修改脚本:
var ButtonPic : Texture2D;

function OnGUI () {
GUI.Box (Rect (10,10,100,90), "Loader Menu");

if (GUI.Button (Rect (20,40,80,20), ButtonPic)) {
// do sth.
}
}
3. 在 Hierarchy面板 中选中 MainCamera,然后看 Inspector面板
[unity3d] GUI - kasicass - Code@Pig Home

4. 把图片拖到 ButtonPic变量 上,搞定。
[unity3d] GUI - kasicass - Code@Pig Home

Purely Simple, huh~

关于 Unity 提供了哪些UI控件,参考这里:

GUIStyle与GUISkin
UnityUI 也是支持更换不同风格外观的。
GUIStyle,影响独立的某个控件的外观。
GUISkin,一对GUIStyle的集合,影响所有控件的外观。

创建控件的第三个参数,决定了使用啥Style。
var customButton : GUIStyle;
function OnGUI () {
GUI.Button (Rect (10,10,150,20), "I am a Custom Button", customButton);
}
这样弄了个 customButton 的变量,则在 Inspector面板 可以直接设置此Style。
[unity3d] GUI - kasicass - Code@Pig Home

创建 GUISkin,从 Assets => Create => GUI Skin。然后修改脚本代码:
var mySkin : GUISkin;
function OnGUI () {
GUI.skin = mySkin;
GUI.Box(Rect(10,10,100,90), "Loader Menu");
}
并把刚刚创建的 GUISkin 对象拖到 Inspector视图 的mySkin 变量上。
可以看到 GUISkin 就是 Style 的集合,定义了各种控件的外观。
[unity3d] GUI - kasicass - Code@Pig Home

Layout Modes
对于"可能动态创建控件"的情况,UnityGUI提供了 Automatic Layout 的功能,相当于一层 window 套一层 window 的概念。

Compound Control(复合控件)
自己写函数,定义复合控件。

Extending the Editor
还可以通过 UnityGUI 扩展 Unity编辑器 本身。coool~

总结
看完 UnityGUI 的教程,Unity 对 UI 的基本支持是有了,但对于大型游戏,其缺少一个可视化的编辑器,以及比较好的事件处理模型。
下面有两个进一步研究的方向。

GUIX,Unity GUI 可视化编辑器($97)

BitVerse,开源的GUI编辑器
  评论这张
 
阅读(7546)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017