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中双击/单击事件-创新互联
文章路径:http://myzitong.com/article/cesejd.html