12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 3780|回复: 17
打印 上一主题 下一主题

unity3d GUI简介及常用扩展工具

[复制链接]

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

跳转到指定楼层
楼主
发表于 2011-9-19 08:15:39 |只看该作者 |倒序浏览
搞个简单的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. 然后点一下播放按钮:
4. 就可以在 Game视图 看到你创作的 menu 啦

对于 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面板


4. 把图片拖到 ButtonPic变量 上,搞定。

Purely Simple, huh~
关于 Unity 提供了哪些UI控件,参考这里:
http://unity3d.com/support/documentation/Components/gui-Controls.html  
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。

创建 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 的集合,定义了各种控件的外观。

Layout Modes
对于"可能动态创建控件"的情况,UnityGUI提供了 Automatic Layout 的功能,相当于一层 window 套一层 window 的概念。
http://unity3d.com/support/documentation/Components/gui-Layout.html
Compound Control(复合控件)
自己写函数,定义复合控件。
http://unity3d.com/support/documentation/Components/gui-Extending.html
Extending the Editor
还可以通过 UnityGUI 扩展 Unity编辑器 本身。coool~
http://unity3d.com/support/documentation/Components/gui-ExtendingEditor.html

总结
看完 UnityGUI 的教程,Unity 对 UI 的基本支持是有了,但对于大型游戏,其缺少一个可视化的编辑器,以及比较好的事件处理模型。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

Asen    

867

主题

0

听众

1万

积分

外协人员

Rank: 7Rank: 7Rank: 7

纳金币
17488
精华
1
沙发
发表于 2011-9-19 08:33:42 |只看该作者
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2011-12-23 19:46:06 |只看该作者
路过、路过、快到鸟,列位请继续...ing
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-1-24 23:23:29 |只看该作者
健康是最佳的礼物,知足是最大的财富,信心是最好的品德,关心是最真挚的问候,牵挂是最无私的思念,祝福是最美好的话语。祝你新年快乐!平安幸福!
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-2-28 23:19:40 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

6#
发表于 2012-3-3 23:18:38 |只看该作者
顶!学习了!阅!
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-3-12 23:24:13 |只看该作者
不错 非常经典  实用
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

8#
发表于 2012-3-16 23:20:18 |只看该作者
好铁多多发,感激分享
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-5-6 23:23:57 |只看该作者
提醒猪猪,千万不能让你看见
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-5-11 23:25:22 |只看该作者
我也来支持下
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-27 14:06 , Processed in 0.095849 second(s), 31 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部