GamepadService
*Este conteúdo estará disponível no idioma selecionado em breve.
The GamepadService is internally responsible for handling inputs from various controllers, such as Xbox One or PlayStation DualShock controllers. It also handles APIs used with the gamepad virtual cursor. You can enable the gamepad cursor for your experience by setting Enum.VirtualCursorMode under StarterGui to Enabled.
Resumo
Propriedades
The state of the gamepad virtual cursor.
Métodos
Disables the gamepad cursor, if currently enabled.
Enables the gamepad cursor or updates its position.
Propriedades
GamepadCursorEnabled
This boolean is a read only variable that maintains the state of the gamepad virtual cursor.
Amostras de código
local gamepadService = game.GamepadService
gamepadService:GetPropertyChangedSignal("GamepadCursorEnabled"):Connect(function()
local enabled = gamepadService.GamepadCursorEnabled
if enabled then
-- Custom code when the virtual cursor is enabled
else
-- Custom code when the virtual cursor is disabled
end
end)
Métodos
DisableGamepadCursor
This function disables the gamepad cursor, if it's currently enabled.
Devolução
Amostras de código
local gamepadService = game.GamepadService
local userInputService = game.UserInputService
userInputService.InputBegan:Connect(function(inputObject, gameProcessed)
if inputObject.KeyCode == Enum.KeyCode.ButtonB then
gamepadService:DisableGamepadCursor()
end
end)
EnableGamepadCursor
This function enables the gamepad cursor if it's currently disabled. If the cursor is already enabled, calling the API updates the cursor's position. The function accepts a GuiObject parameter, but there are some invalid cases. Please note that in order to set the cursor to the default position, nil must be passed in as a parameter. Providing no argument will result in an error.
Input GuiObject | Cursor Starting Position | |
Nil | Default position | |
Not a GuiObject | Cursor does not appear, errors | |
Not a child of BasePlayerGui | Cursor does not appear, errors | |
GuiObject has Visible 2 set to false or any parent visible set to false | Default position with warning | |
Child of ScreenGui 1 with Enabled 1 set to false | Default position with warning | |
Child of BillboardGui 4 or SurfaceGui | Default position with warning | |
GuiObject outside the viewport (Or, any part of the gui object that is off screen) | Default position with warning | |
Child of ScrollingFrame with clipping set to false: GuiObject outside of scrolling frame (Object child of scrolling frame and not visible on screen) | Default position with warning | |
Child of ScrollingFrame with clipping set to true: GuiObject outside scrolling frame window but inside viewport | GuiObject moves into the scrolling frame and starts the cursor centered over the object | |
GuiObject inside the frame and visible | Cursor starts centered on the GuiObject |
Parâmetros
Devolução
Amostras de código
local gamepadService = game.GamepadService
local userInputService = game.UserInputService
local startObject = script.Parent
userInputService.InputBegan:Connect(function(inputObject, gameProcessed)
if inputObject.KeyCode == Enum.KeyCode.ButtonA then
gamepadService:EnableGamepadCursor(startObject)
end
end)