unity3d 鼠标事件

using UnityEngine;
using System.Collections;

public class mouse : MonoBehaviour {
    //private Vector3 lasePos;
    private Vector3 offSet;
    private Vector3 ScreenSpace;
    //1.
    void OnMouseDown()
    {
        ScreenSpace = Camera.main.WorldToScreenPoint(transform.position);
        offSet = transform.position - Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));

        //lasePos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));
        print("down");
    }

    //2.
    void OnMouseUp()
    {
        print("up");
    }

    //3.
    void OnMouseDrag()
    {
        Vector3 curScreenSpace = new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z);
        Vector3 CurPosition = Camera.main.ScreenToWorldPoint(curScreenSpace) + offSet;
        transform.position = CurPosition;
        //Vector3 curPos = Camera.main.ScreenToWorldPoint(new Vector3(Input.mousePosition.x, Input.mousePosition.y, ScreenSpace.z));
        //Vector3 gapPos = curPos - lasePos;
        //transform.position = transform.position + gapPos;
        //lasePos = curPos;

        print("drag");
    }

    //4.当鼠标移动到内部时
    void OnMouseEnter()
    {
        print("enter");
    }
    //5.当鼠标离开内部时
    void OnMouseExit()
    {
        print("exit");
    }
    //6.当鼠标持续停留在内部时
    void OnMouseOver()
    {
        print("over");
    }
    //7.鼠标停留在内部释放时调用
    void OnMouseUpAsButton()
    {
        print("upAsButton");
    }
}
时间: 2024-09-30 11:47:27

unity3d 鼠标事件的相关文章

Unity3D导入外部任务模型无法触发鼠标事件解决方案

前几日 在做U3D测试的时候 导入了网上的一个人物模型 但是后来发现无论如何该模型都无法响应诸如:OnMouseDown 这些鼠标事件 又用U3D自带的水管工做了测试 发现不是我系统的问题= = 水管工对鼠标事件还是有反应的 遂百度之 查到的解决方法是 在Project窗口中选中导入FBX模型,在右边的Inspector中选中Generate Colliders 说是因为U3D默认导入的模型没有启动碰撞机Colliders 但是------ 我在确定模型的Generate Colliders被选

Unity3D中事件函数的运行顺序

Unity3D中脚本的生命周期是依照预先定义好的事件函数的运行流程来演化的,详细流程例如以下: Editor模式下Reset: 当脚本第一次被挂到GameObject上或用户点击Resetbutton时,Reset被调用初始化脚本属性,最经常使用于在Inspector视图中呈现好的默认值. 载入第一个场景First Scene Load: 场景启动时会对场景中的每一个对象运行一遍例如以下事件函数: Awake:游戏启动之前初始化不论什么变量和游戏状态,仅在脚本生命周期中调用一次.不能做协程,St

网站开发div在Jquery中的鼠标事件失去焦点

网站div在Jquery中的鼠标事件失去焦点,今天在做网站开发的时候遇到了个问题,就是我在用Jquery做导航的时候,用到了Jquery的鼠标事件mouseout,但问题出来了,我有两个div,A的div包含了B的div,本来我是想当鼠标移出A的div的时候隐藏div,可是当我的鼠标移到B的div在移出的时候也会触发jquery的隐藏事件,这让人很头痛. 在网上搜了下,找到了解决的法子,就是直接把mouseout换成了mouseleave就可以了,具体的问题请大家参考Jquery的开发文档吧

selenium python (三)鼠标事件

# -*- coding: utf-8 -*-#鼠标事件 #ActionChains类中包括:context_click()  右击:                        # double_click() 双击:                        # drag_and_drop() 拖动:                        # move_to_element()鼠标悬停在一个元素上:                        # click_and_hold

javascript基础——鼠标事件,系统对话框等

1.鼠标事件 (1).onclick:用户点击鼠标左键,以及当焦点在一个按钮上时,用户按Enter键时,发生onclick事件 (2).ondblclick:用户双击鼠标左键时,发生ondblclick事件 (3).onmousedown:用户按下任意鼠标按钮的时候,发生onmousedown事件 (4).onmouseout:当光标在一个元素上,并且用户将其移出元素边界时,发生onmouseout事件 (5).onmouseover:当光标在一个元素之外,并且用户将移动到该元素上时,发生onm

基于OpenGL编写一个简易的2D渲染框架-07 鼠标事件和键盘事件

这次为程序添加鼠标事件和键盘事件 当检测到鼠标事件和键盘事件的信息时,捕获其信息并将信息传送到需要信息的对象处理.为此,需要一个可以分派信息的对象,这个对象能够正确的把信息交到正确的对象. 实现思路: 要实现以上的功能,需要几个对象: 事件分派器:EventDispatcher,负责将 BaseEvent 分派给 EventListener 对象 事件监听器:EventListener,这只是一个接口类,接受 BaseEvent 的对象,真正的处理在它的子类中实现 事件:BaseEvent,储存

JQuery 鼠标事件简介

mouseover事件于用户把鼠标从一个元素移动到另外一个元素上时触发,mouseout事件于用户把鼠标移出一个元素时触发. 下面为你详细介绍下jquery中的鼠标事件: (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发: $('p').click(function(){ alert('click function is running !'); }); (2):dblclick:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于

jQuery事件之鼠标事件

鼠标事件是在用户移动鼠标光标或者使用任意鼠标键点击时触发的.   (1):click事件:click事件于用户在元素敲击鼠标左键,并在相同元素上松开左键时触发.        $('p').click(function(){                alert('click function is running !');              });    (2):dbclick事件:dbclick事件在用户完成迅速连续的两次点击之后触发,双击的速度取决于操作系统的设置.一般双击事件

JavaScript 鼠标事件

鼠标事件是Web开发中最常用的一类事件. DOM3级事件中定义了9个鼠标事件,分别如下: click.dbclick.mousedown.mouseenter.mouseleave.mousemove.mouseover.mouseout.mouseup. click:在用户单击鼠标按钮时,或者按下回车键时触发.这点对确保易访问性很重要,意味着onclick时间处理程序既可以通过键盘也可以通过鼠标执行.