Skip to content

UserInputService

继承自

描述

是一个服务,用于绑定处理用户输入

属性

boolTouchEnabled
当前的设备是否启用触摸屏
boolKeyboardEnabled
当前的设备是否启用键盘
boolMouseEnabled
当前的设备是否启用鼠标
boolAccelerometerEnabled
设备是否带启用加速器
boolGamepadEnabled
用户正在使用的设备是否启用可用的游戏手柄
boolGyroscopeEnabled
用户的设备是否启用陀螺仪
boolOnScreenKeyboardVisible
屏幕键盘当前是否在用户的屏幕上可见
boolVREnabled
用户是否正在使用头戴虚拟现实设备
Vector2OnScreenKeyboardPosition
屏幕键盘的位置
boolMouseIconEnabled
决定Mouse的图标是否可见
boolModalEnabled
切换迷你世界Studio的移动控制是否在移动设备上隐藏
floatMouseDeltaSensitivity
缩放用户的Mouse的Delta(位置改变)输出
MouseBehaviorMouseBehavior
用户的鼠标可以自由移动或是被锁定
SandboxNodeInputBegan
开始输入
SandboxNodeInputChanged
输入改变
SandboxNodeInputEnded
输入结束
SandboxNodeTouchStarted
触摸开始
SandboxNodeTouchMoved
触摸移动
SandboxNodeTouchEnded
触摸结束

函数

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

代码示例

lua
local inputservice = 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

inputservice.InputBegan:Connect(inputBegan)