unity 鼠标事件

这篇具有很好参考价值的文章主要介绍了unity 鼠标事件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 1.1键盘触发事件

Input.GetMouseButtonDown(0) 鼠标按下那一刻触发(点击屏幕)
Input.mousePosition 鼠标的坐标
Input.GetKeyDown(KeyCode.Space) 按键被按下那一刻进行触发(点击空格)
Input.GetKey()  按键一直按着时触发
Input.GetKeyUp () 按键被按下后抬起时触发 
Input.GetMouseButtonUp()  鼠标抬起的那一刻时触发
Input.GetMouseButton(0/1/2)  1:左键 2:右键 3:中键 鼠标一直按着时触发

1.2D中鼠标方法

事件 描述
OnMouseDown 当鼠标点击才会触发该事件函数"
OnMouseUp 当鼠标点击后抬起的时候(瞬间),才会触发该事件函数
OnMouseDrag 当鼠标按下的过程当中拖拽才会触发该事件函数
OnMouseEnter 当鼠标移动到该物体上的时候(瞬间),才会触发该事件函数
OnMouseExit 当鼠标移出该物体的时候(瞬间),才会触发该事件函数
OnMouseOver 当鼠标在物体上的时候,才会触发该事件函数
OnMouseUpAsButton 鼠标只有在点击和抬起都在一个物体上,该事件函数才会触发,并且是在抬起的那一刻触发。
当鼠标点击该物体,但是在物体之外抬起,该事件函数是不会触发的,(在UGUI按钮方面使用较多)

//OnMouseEnter与OnMouseOver的区别就是前者是移到物体的一瞬间触发一次,后者只要在该物体上就会触发。

 文章来源地址https://www.toymoban.com/news/detail-760145.html

1.3D游戏中鼠标触发事件

using System.Collections;
using System.Collections.Generic;
using Unity.VisualScripting;
using UnityEditor;
using UnityEngine;
using UnityEngine.EventSystems;
using UnityEditor.UI;

//必须引MonoBehaviour, IPointerClickHandler, IBeginDragHandler
public class Joystick : MonoBehaviour, IPointerClickHandler, IBeginDragHandler, IEndDragHandler, IDragHandler
{
    private RectTransform rectTransform;//获取当前ui的rectTransform

    private RectTransform rf;

    void Start()
    {
        //获取到摇杆物体
        GameObject go = this.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject.transform.GetChild(0).gameObject;
        rectTransform = go.GetComponent<RectTransform>();
        Debug.Log(this.transform.name);
        Debug.Log(rectTransform.name);
    }


    public void OnBeginDrag(PointerEventData eventData)
    {
        Debug.Log("开始拖拽OnBeginDrag");
    }

    public void OnDrag(PointerEventData eventData)
    {
        Debug.Log("OnDrag");

        Vector3 ui;
        //物体的移动【移动的transform,移动的位置,移动的角度,移动后输出的位置】
        RectTransformUtility.ScreenPointToWorldPointInRectangle(rectTransform, eventData.position, eventData.enterEventCamera, out ui);
        rectTransform.position = ui;
    }


    public void OnEndDrag(PointerEventData eventData)
    {
        Debug.Log("结束拖拽OnEndDrag");
    }


    public void OnPointerClick(PointerEventData eventData)
    {
        Debug.Log("检测到点击了OnPointerClick");
        Debug.Log();

       
    }

}

 

到了这里,关于unity 鼠标事件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Unity功能】鼠标移动触发事件方法

     方法一:方法触发 注意:UGUI不能使用该方法 方法二:Event Trigger 注意:需要场景中包含EventSystem(在添加trigger组件后自动添加);UGUI可以使用 方法三:

    2024年01月25日
    浏览(26)
  • 【Unity】两种方式实现弹跳平台/反弹玩家(玩家触发与物体自身触发事件实现蹦床的物理效果)

    只实现物理反弹的效果,不实现蹦床会有的视觉拉伸效果,请自行找相关代码 经过我的实践,我发现要想实现一个平台反弹的效果,要么就选择给player添加一个物理材质(平台加了没用), 但是这样会造成一个问题,如果我们要弄一个3d控制器的游戏,那么没理由让玩家什么

    2024年02月07日
    浏览(25)
  • Unity功能测试3D物体和UI的点击事件

    我们在功能开发中 当UI和3D物体在一起的时候点击事件通常会有这么几种情况 1、UI和3D物体同时响应事件 这种情况很常见,如果是故意有次功能需求那将不需要改动.实现代码 3D物体上挂载 UI上挂载 这里面ExecuteAll这个方法也可以处理同理响应事件的问题(已注释) 2、UI和3D物体

    2024年02月05日
    浏览(46)
  • Unity3D-场景中3D物体添加点击事件

    Unity3D - 场景中3D物体添加鼠标点击事件 鼠标点击3D物体触发,Unity从本质上来说有两种:一种是通过事件(event)触发,一种是通过射线(ray)判断穿过的物体触发。这两种触发的原理是不同的,不论哪种触发都必须满足触发的要求才可以,既然原理不同,触发的要求也不一样

    2024年02月08日
    浏览(39)
  • [Unity]UI事件(鼠标进入、离开、点击)

    1、首先继承IPointerEnterHandler、IPointerExitHandler等接口 2、实现其方法 如:OnPointerEnter、OnPointerExit 注意:这些只对UI有效,而OnMouseEnter只对加Collider的非UI有效

    2024年03月17日
    浏览(38)
  • Unity(六)--绑定鼠标点击事件(左键、右键、中键)

    新建一个脚本buttonEvent:

    2024年02月01日
    浏览(42)
  • unity制作游戏,点击鼠标左键,展示屏幕震动效果

    在Unity中实现点击鼠标左键展示屏幕震动效果可以通过以下步骤进行: 创建一个新的C#脚本,例如\\\"ScreenShake.cs\\\",并将其附加到想要添加屏幕震动效果的游戏对象上。 在脚本中定义一个变量来控制震动的幅度,例如 public float shakeAmount = 0.1f; 。 在Update函数中检测鼠标左键点击事

    2024年02月12日
    浏览(32)
  • js触发点击事件(模拟自动点击事件)

    进入页面触发点击事件 js 派发事件 Event.initEvent()已弃用 添加链接描述

    2024年02月16日
    浏览(45)
  • vue子元素点击事件与父元素点击事件冲突 子元素点击事件不触发

    在vue项目中,子元素有点击事件,父元素也有点击事件,当点击子元素时往往触发的是父元素的点击事件,产生冲突,怎样解决这个问题呢? 解决方法:使用vue中的事件修饰符 vue为 v-on 提供了 .stop、.prevent、.self、.once等事件修饰符,当遇到子元素与父元素的事件冲突,就要

    2024年02月14日
    浏览(28)
  • JavaScript 鼠标事件监听&&触发时机&&触发顺序

    有时间整理下鼠标的监听事件,目前汇总到的鼠标监听事件以下10个: 目录 1. click 2. dblclick 3.contextmenu 4.mousedown 5.mouseup 6.mouseenter 7.mouseleave 8.mouseover 9.mouseout 10.mousemove 先说下触发时机和作用键(左键、右键) 点击事件,只有左键生效 双击事件,只有左键生效 跟click事件对比

    2024年02月08日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包