查看: 833|回复: 0
打印 上一主题 下一主题

[其他] 鼠标双击事件简单应用

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53464
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2014-12-30 22:13:18 |只看该作者 |倒序浏览
大概原理就是通过第一次点击的时间跟第二次点击的时间进行相减 如果小于 0.2s 就判断为双击  
很简单的一个鼠标双击的判断

using unityEngine;

namespace HutongGames.PlayMaker.Actions
{
[ActionCategory(ActionCategory.Input)]
[Tooltip("Gets the pressed state of the specified Mouse Button and stores it in a Bool Variable. See Unity Input Manager doc.")]
public class GetMouseDLeft : FsmStateAction
{

        [RequiredField]
        public MouseButton button;
        public FsmEvent sendEvent;
        [UIHint(UIHint.Variable)]
        public FsmBool storeResult;
float time=0;
int count=0;
public override void Reset()
{
            button = MouseButton.Left;
            sendEvent = null;
            storeResult = null;
}


public override void OnUpdate()
{
bool buttonDown = Input.GetMouseButtonDown((int)button);
if (buttonDown)
{
if(count==0)
time=Time.time;
count++;
}
if (count == 2)
{
if((Time.time-time)<0.2)
{
if (buttonDown)
Fsm.Event(sendEvent);
storeResult.Value = buttonDown;
count=0;
time=0;
}
else
{
count=0;
time=0;
}
}
}
}
}
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-14 11:05 , Processed in 0.096088 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部