NGUI的UI界面聚焦---学自于公司大神
来源:互联网 发布:tw域名要翻墙吗 编辑:程序博客网 时间:2024/04/29 09:06
不知道该不该叫聚焦,通俗点说就是:一个UI,上面好几个按钮什么的,若鼠标不点击UI或者不点击UI的子物体(按钮),UI隐藏。
直接上代码,程序员还是喜欢用代码说话
两个脚本。
1.using UnityEngine;
using System.Collections;
public class UIFocus : MonoBehaviour {
public bool SelectedChild = false;
void Start () {
for (int index = 0,count = transform.GetChildCount();index<count;index++ )
{
Transform child = transform.GetChild(index);
BoxCollider co = child.GetComponent<BoxCollider>();
if (co != null)
{
UIFocusChild.SetParentFocus(child.gameObject,this);
}
}
}
void OnEnable()
{
UICamera.selectedObject = this.gameObject;
}
void OnSelect(bool isSelected)
{
if (!isSelected)
{
if (!SelectedChild)
gameObject.SetActive(false);
else
SelectedChild = false;
}
}
}
2.
using UnityEngine;
using System.Collections;
public class UIFocusChild : MonoBehaviour {
UIFocus ParentFocus;
void Start () {
}
void OnPress(bool state)
{
if (state)
ParentFocus.SelectedChild = true;
}
static public void SetParentFocus(GameObject go,UIFocus focus)
{
UIFocusChild focuschild = go.GetComponent<UIFocusChild>();
if (focuschild == null)
{
focuschild = go.AddComponent<UIFocusChild>();
}
focuschild.ParentFocus = focus;
}
}
补充,若点击了按钮, UICamera.selectedObject 就是按钮了,此时得把这个UI隐藏掉,否则,再点UI的外面是没有用的。你也可以,当点玩按钮之后,再把 UICamera.selectedObject设回去,自己琢磨必要性吧。完毕
- NGUI的UI界面聚焦---学自于公司大神
- Ngui忽略ui界面的物体
- MFC UI界面自绘制
- 最新的.NET Framework聚焦于改进可访问性
- Ngui判断鼠标是否在UI界面上
- Unity-插件-NGUI-常用UI界面功能(1)
- 公司于学生的纽带
- JS中常见的运动(学自于妙味课堂)
- 创业恩怨--聚焦从大公司走出的创业者
- [NGUI]简单改装NGUI的UI sprite animation
- Unity3D:NGUI 深入剖析NGUI的游戏UI架构
- 复制一些大神的知识-Unity3D、NGUI性能优化方法
- 各个大神大公司的UED
- NGUI ,鼠标检测UI 用到的方法
- NGUI简单的UI功能操作
- NGUI 特效和UI遮挡的问题
- Unity NGUI 获得点击的UI
- UI界面的更新
- Producer-Consumer 生产者,消费者
- java 正则之获取数字
- C语言Socket入门非阻塞socket(connect timieout问题)
- 认识js中的function和this(经典)
- 平衡二叉树
- NGUI的UI界面聚焦---学自于公司大神
- leetcode6.LRU Cache
- SQL 注入式攻击的本质
- 2E07-view-lists-Collapsed
- c# list 删除重复元素
- 安全标准与授权
- win7下安装ubuntu
- Balking Pattern不需要就不用做
- 2014北京国际广告展“新赏析”