查看: 2630|回复: 0
打印 上一主题 下一主题

Unity3D中模态对话框的简单解决方案

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

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

跳转到指定楼层
楼主
发表于 2012-2-22 11:55:42 |只看该作者 |倒序浏览
有时候我们需要在程序中弹出一个模态对话框来告诉用户一些信息,这时候使用
“EditorUtility.DisplayDialog” 就足够满足要求了,但是当我们需要更加复杂一点的模态对话框的时候,那就得自己来写了。
下面是一个很简单的解决方案(肯定不是最好的但是可以达到需要的效果)
1.创建一个ModalWindow.cs (稍后当作组件来使用)
gameObject.AddComponent("ModalWindow");
2.创建一个box用作模态对话框的窗体
3.创建一个透明度按钮,大小等于你希望无效区域的大小(如果你希望对话框后的所有区域都无效的话把它设成屏幕大小就可以了)
4.阻断一切点击消息
if(GUI.Button(disableRect, "", skin.customStyles[1]))
{
    Event.current.Use();
}
5.把这个对话框显示在最顶层
GUI.depth = 0;
很简单的实现方法但是还有一个小问题,对话框后的按钮确实无法被点击但是在鼠标滑过时仍然改变成“hover”的状态……













Download the source code!!!

转自:http://www.supersuraccoon-cocos2d.com/zh/2011/09/01/simple-modal-window-solution-in-unity3d/
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2025-2-24 15:09 , Processed in 0.068708 second(s), 32 queries .

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

© 2008-2019 Narkii Inc.

回顶部