当快速把鼠标移出unity会执行OnPoi…
2016-12-16 15:16
260 查看
首先这个问题我百度过,没有浏览到有用的信息。贴上代码:
public void
OnPointerEnter(PointerEventData eventData)
{
Debug.LogError("mouse enter");
}
public void
OnPointerExit(PointerEventData eventData)
{
Debug.Log("mouse exit");
}
在public class YouClass:MonoBehaviour, IPointerClickHandler,
IPointerEnterHandler, IPointerExitHandler像这样unity就能自动执行OnPointerExit OnPointerEnter(图片要勾选Raycast
Target)
程序正常运行应该是 鼠标移入图片 打印 mouse enter 移出 打印mouse exit
当快速移出则 打印mouse
exit mouse
enter ,所以多执行了一次 OnPointerEnter
解决方法:
bool IsEnter = true;
bool IsExit = true;
public void OnPointerEnter(PointerEventData eventData)
{
if (IsEnter)
{
Debug.LogError("mouse enter");
IsEnter =
false;
IsExit =
true;
}
}
public void OnPointerExit(PointerEventData eventData)
{
if (IsExit)
{
Debug.Log("mouse exit");
StartCoroutine(SleepExit());
IsExit =
false;
}
}
IEnumerator SleepExit()
{
yield return new WaitForSeconds(0.005f);
IsEnter = true;
}
就是认为在执行完OnPointerExit后等一些时间执行OnPointerEnter
我只是个菜鸟 欢迎有更好的方法一起学习下
public void
OnPointerEnter(PointerEventData eventData)
{
Debug.LogError("mouse enter");
}
public void
OnPointerExit(PointerEventData eventData)
{
Debug.Log("mouse exit");
}
在public class YouClass:MonoBehaviour, IPointerClickHandler,
IPointerEnterHandler, IPointerExitHandler像这样unity就能自动执行OnPointerExit OnPointerEnter(图片要勾选Raycast
Target)
程序正常运行应该是 鼠标移入图片 打印 mouse enter 移出 打印mouse exit
当快速移出则 打印mouse
exit mouse
enter ,所以多执行了一次 OnPointerEnter
解决方法:
bool IsEnter = true;
bool IsExit = true;
public void OnPointerEnter(PointerEventData eventData)
{
if (IsEnter)
{
Debug.LogError("mouse enter");
IsEnter =
false;
IsExit =
true;
}
}
public void OnPointerExit(PointerEventData eventData)
{
if (IsExit)
{
Debug.Log("mouse exit");
StartCoroutine(SleepExit());
IsExit =
false;
}
}
IEnumerator SleepExit()
{
yield return new WaitForSeconds(0.005f);
IsEnter = true;
}
就是认为在执行完OnPointerExit后等一些时间执行OnPointerEnter
我只是个菜鸟 欢迎有更好的方法一起学习下
相关文章推荐
- JQuery 解决 鼠标快速滑过后,会执行多次滑出的问题
- 【jquery】解决轮播图鼠标快速移入移出导致bug思路
- Html js和jquery制作导航条时鼠标快速滑动导致下拉菜单不断执行
- WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
- 完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
- 【Unity快速实现小功能】快速添加一个鼠标点击物体的识别功能
- WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件
- vb.net中如何快速绘制鼠标移动轨迹
- (转摘)_《数据库设计入门经典》:构建快速执行的数据库模型_8.2 编写高效查询
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- (转摘)_《数据库设计入门经典》:构建快速执行的数据库模型_8.6 应用程序缓存
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(转)
- 如何快速重新执行已经执行过的命令
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- 快速调用可执行程序
- (转摘)_《数据库设计入门经典》:构建快速执行的数据库模型_8.4 提高性能的高效索引
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- 实现DataGrid的某一行随着鼠标的移入移出而改变颜色
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)