概述
首先这个问题我百度过,没有浏览到有用的信息。贴上代码:
public void OnPointerEnter(PointerEventData eventData)
{
Debug.LogError("mouse enter");
}
public void OnPointerExit(PointerEventData eventData)
{
Debug.Log("mouse exit");
}
if (IsEnter)
{
Debug.LogError("mouse enter");
IsEnter = false;
IsExit = true;
if (IsExit)
{
Debug.Log("mouse exit");
StartCoroutine(SleepExit());
IsExit = false;
{
yield return new WaitForSeconds(0.005f);
IsEnter = true;
}
在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)
{
}
}
public void OnPointerExit(PointerEventData eventData)
{
}
}
IEnumerator SleepExit()
就是认为在执行完
OnPointerExit后等一些时间执行
OnPointerEnter
我只是个菜鸟 欢迎有更好的方法一起学习下
最后
以上就是奋斗长颈鹿为你收集整理的当快速把鼠标移出unity会执行OnPoi…的全部内容,希望文章能够帮你解决当快速把鼠标移出unity会执行OnPoi…所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复