Unity中双击/单击事件-创新互联
上次做项目时用到双击了,这次又想用,但是上次没总结,这次又的再写一遍,这次就直接挂出来,下次直接就能用了,附件密码:mouse;

Update里面执行:
if(Input.GetMouseButtonDown(0))
{
if(!this.mouseDownStatus)
{
this.mouseDownStatus = true;
//Debug.Log("Click !");
if(this.clickCallback != null) this.clickCallback();
if(this.mouseDownCount == 0)
{
this.lastTime = Time.realtimeSinceStartup;
}
this.mouseDownCount ++;
}
}
if(Input.GetMouseButtonUp(0))
{
//Debug.Log("Up !");
this.mouseDownStatus = false;
}
if(this.mouseDownStatus)
{
//Debug.Log("Hold !");
if(this.mouseDownCount >= 2)
{
this.currentTime = Time.realtimeSinceStartup;
if(this.currentTime - this.lastTime < 0.3f)
{
this.lastTime = this.currentTime;
this.mouseDownCount = 0;
//Debug.Log("Double Click");
if(this.doubleCallback != null) this.doubleCallback();
}
else
{
this.lastTime = Time.realtimeSinceStartup;
this.mouseDownCount = 1;
}
}
}
//双击调用方法
public class MouseResponseManager
{
public static void Register(GameObject objectItem, Action clickCallback, Action doubleCallback)
{
if(objectItem == null)
{
objectItem = new GameObject();
objectItem.name = "MouseResponseItem";
}
MouseResponseItem mouseResponseItem = objectItem.AddComponent ();
mouseResponseItem.Init (clickCallback, doubleCallback);
}
}
在就直接调用:
MouseResponseManager.Register(null, ()=>
{
。。。。。
}, ()=>{
。。。。。
}); 另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
网站标题:Unity中双击/单击事件-创新互联
链接URL:http://www.jxjierui.cn/article/cesejd.html


咨询
建站咨询
