鼠标

  • 类型:Mouse

不可创建
无法使用RWObject:New(ClassName)创建此对象,也不在编辑器对象列表中显示。

不在编辑器管理器中显示

脚本可访问
此对象脚本可访问,但只有客户端脚本可访问

简介

鼠标不属于服务,但是可以在脚本中直接调用。如

print(tostring(Mouse.MousePosition)) -- 打印鼠标在屏幕中的位置
  • 鼠标在游戏屏幕中的位置
    可以用该对象下的MousePositionMousePosYMousePosX属性来获取鼠标在游戏屏幕中的位置。

  • 鼠标在游戏世界中的位置
    RayToMousePoint属性表示一条起点为摄像机位置,鼠标所指的游戏世界中的位置为方向的射线,可以通过该射线实现鼠标与游戏世界中对象的交互。TargetSurfaceTypeMouseTargetMouseHit等属性均以RayToMousePoint属性为基础,更直观的反应鼠标与游戏世界中对象的位置关系。

  • 鼠标锁定
    EnterMouseLockMode()函数和LeaveMouseLockMode()函数提供了进入和退出鼠标锁定模式的方法,方便实现用户在制作某些游戏时的要求,比如射击类游戏的准星。

  • 鼠标图标
    HideCursor()ShowCursor()函数可以隐藏和显示鼠标的图标,MouseIcon属性可以让用户自己修改鼠标图标。注:MouseIcon属性仅支持ico类型的图片

  • 鼠标图标
    鼠标对象下还有一系列相关的事件,用于实现用户使用鼠标与游戏进行交互。比如MouseButtonLeftDown()用于监听鼠标点击,MouseScroll()用于监听鼠标滚轮的使用

注意事项

在编辑器端运行游戏时,MousePosition会以编辑器左下角为[0,0]点,MousePosYMousePosX同理。

相关链接

  • 教学视频

属性

    MousePosY     鼠标位置Y   int    [只读]
    鼠标指针所在屏幕位置的Y(垂直)坐标

    MousePosX     鼠标位置X   int    [只读]
    鼠标指针所在屏幕位置的X(水平)坐标

    ViewPixelY     游戏窗口高度   int    [只读]
    游戏窗口的高度(像素)

    ViewPixelX     游戏窗口宽度   int    [只读]
    游戏窗口的宽度(像素)

    RayToMousePoint     鼠标位置射线   Ray    [只读]
    指向鼠标在世界位置的射线,从相机的世界位置发出。

    TargetSurfaceType     目标表面   Surface    [只读]
    鼠标指向基础部件哪个方向的表面

    TargetFilterInstance     忽略对象   {RWObject}   
    确定MouseHit和MouseTarget要忽略的对象(不包括后代)。

    MouseTarget     目标对象   RWObject    [只读]
    鼠标指向的3D场景中的对象

    MouseDirection     鼠标方向   Vector3    [只读]
    当前摄像机指向鼠标的方向

    MouseIcon     指针图片   string   
    鼠标指针图片资源ID

    MouseHit     鼠标3D位置   Vector3    [只读]
    以摄像机为原点,向鼠标位置打出的射线,碰到物体后,返回接触点的世界坐标

    MousePosition     鼠标位置   Vector2    [只读]
    鼠标指针所在屏幕的坐标(x,y)

函数

    HideCursor()
    隐藏鼠标指针

    ShowCursor()
    显示鼠标指针

    EnterMouseLockMode()
    进入鼠标锁定模式

    LeaveMouseLockMode()
    离开鼠标锁定模式

事件

    MouseMove()
    鼠标移动时,触发此事件

    MouseButtonLeftDown()
    按下鼠标左键时,触发此事件

    MouseButtonLeftUp()
    抬起鼠标左键时,触发此事件

    MouseLeftPress()
    点击鼠标左键时,触发此事件

    MouseButtonRightDown()
    按下鼠标右键时,触发此事件

    MouseButtonRightUp()
    抬起鼠标右键时,触发此事件

    MouseRightPress()
    点击鼠标右键时,触发此事件

    MouseScroll()
    滚动鼠标滚轮时,触发此事件

    MouseWheelForward()
    向前滚动鼠标滚轮时,触发此事件

    MouseWheelBackward()
    向后滚动鼠标滚轮时,触发此事件

    MouseScrollDown()
    鼠标滚轮被按下时,触发此事件

    MouseScrollUp()
    鼠标滚轮被抬起时,触发此事件

    MouseScrollPress()
    点击鼠标滚轮时,触发此事件

文档更新时间: 2020-09-24 20:18   作者:刘征