我是靠谱客的博主 高贵太阳,最近开发中收集的这篇文章主要介绍unity一些键盘鼠标特殊触发事件总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 首先是鼠标双击事件,这个只能用OnGUI的方法了,代码如下:

 void OnGUI()
{
Event e = Event.current;
if (e.isMouse && (e.clickCount == 2))
{
Debug.Log("用户双击了鼠标");
}
}


接下来是点击鼠标的左右中键的代码。

注意是点击中键而不是滚动

如下:

 void Update()
{
if (Input.GetButton("Fire1"))
{ //LeftMouse是在inputManager中设置的,左键值为mouse 0
//
PlayerMove();
Debug.Log("用户click鼠标左键");
}
if (Input.GetButton("Fire3"))
{ //LeftMouse是在inputManager中设置的,左键值为mouse 0
//
PlayerMove();
Debug.Log("用户click鼠标中键");
}
if (Input.GetButton("Fire2"))
{ //LeftMouse是在inputManager中设置的,左键值为mouse 0
//
PlayerMove();
Debug.Log("用户click鼠标右键");
}
}

上述代码里的Fire1等是unity默认的。

这个默认设置不止是针对鼠标的,同时还说键盘,例如左shift ,左ctrl和alt等。这个可以打开设置自己看到。

位置的路径在unity菜单的Edit--->project setting -->input里。

如下图:


下面说鼠标滚轮的交互。

直接举个例子来说,例如场景里有个cube 。

要实现:滚轮滚动相机的的镜头来拉近和拉远。

把以下脚本绑定到cube上,然后把相机指定上去就OK。滚动的代码就在Update里。

如下:


using UnityEngine;
using System.Collections;
public class followtarget : MonoBehaviour
{
public GameObject Thirdcamera;
float distance = 1;
void Update()
{
distance -= Input.GetAxis("Mouse ScrollWheel");
Thirdcamera.transform.position = this.transform.position - Vector3.forward * distance;
}
}


然后就是键盘双击事件了,

这个官方似乎没有给出方法,所以就自创了。

我规定的是按键盘A键两次按键间隔不超过0.5秒。下面是代码:

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
public class followtarget : MonoBehaviour
{
private float timer = 0;
public enum Clickcount
{
firsttime,
secondtime,
zerotime
}
Clickcount First = Clickcount.zerotime;
/// <summary>
/// 键盘双击功能,两次按键间隔时间必须小于0.5秒
/// </summary>
void Update()
{
timer -= Time.deltaTime;
if (Input.GetKeyDown(KeyCode.A)&& First == Clickcount.zerotime)
{
timer = 0.5f;
Debug.Log("第一次按下");
First = Clickcount.firsttime;
}
if (Input.GetKeyUp(KeyCode.A) && First == Clickcount.firsttime)
{
Debug.Log("第一次抬起");
First = Clickcount.secondtime;
}
if (timer < 0)
{
First = Clickcount.zerotime;
}
if (Input.GetKey(KeyCode.A) && First == Clickcount.secondtime&&timer>0f)
{
Debug.Log("只有双击出现");
First = Clickcount.zerotime;
}
}
}



最后

以上就是高贵太阳为你收集整理的unity一些键盘鼠标特殊触发事件总结的全部内容,希望文章能够帮你解决unity一些键盘鼠标特殊触发事件总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部