Skip to content

UserInputService ​

属性 ​

bool  TouchEnabled
当前的设备是否启用触摸屏
bool  KeyboardEnabled
当前的设备是否启用键盘
bool  MouseEnabled
当前的设备是否启用鼠标
bool  AccelerometerEnabled
设备是否带启用加速器
bool  GamepadEnabled
用户正在使用的设备是否启用可用的游戏手柄
bool  GyroscopeEnabled
用户的设备是否启用陀螺仪
bool  OnScreenKeyboardVisible
屏幕键盘当前是否在用户的屏幕上可见
bool  VREnabled
用户是否正在使用头戴虚拟现实设备
Vector2  OnScreenKeyboardPosition
屏幕键盘的位置
bool  MouseIconEnabled
决定Mouse的图标是否可见
bool  ModalEnabled
切换迷你世界Studio的移动控制是否在移动设备上隐藏
float  MouseDeltaSensitivity
缩放用户的Mouse的Delta(位置改变)输出
MouseBehavior  MouseBehavior
用户的鼠标可以自由移动或是被锁定
SandboxNode  InputBegan
开始输入
SandboxNode  InputChanged
输入改变
SandboxNode  InputEnded
输入结束
SandboxNode  TouchStarted
触摸开始
SandboxNode  TouchMoved
触摸移动
SandboxNode  TouchEnded
触摸结束

成员函数 ​

SandboxNode  PickObjects (float mouseX, float mouseY, table objects)
从给定的obj列表中,根据传入的2D屏幕坐标,拾取指定对象
bool  IsKeyDown (int key)
按键是否按下
识别当前是否是远程桌面模式
获取输入对象
获取鼠标当前坐标

代码示例 ​

lua
local UserInputService = game:GetService("UserInputService")

local function inputBegan( inputObj, bGameProcessd )
	print("InputBegan")
	print( inputObj.UserInputState )   -- 0 这里都是InputBegan
	if inputObj.UserInputType == Enum.UserInputType.Keyboard.Value then
		print( "keyPressed" )
		print( inputObj.KeyCode )
	end
	if inputObj.UserInputType == Enum.UserInputType.MouseButton1.Value then
		print( "left pressed" )
		print( inputObj.Position.x ) -- 鼠标左键按下时位置
	end
end

UserInputService.InputBegan:Connect(inputBegan)