Maus- und Tastatureingabe

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Ein großer Prozentsatz der Roblox-Sitzungen wird auf Geräten mit Maus und Tastatur gespielt, daher ist es wichtig, diese Eingaben zu unterstützen, wenn man ein Spiel für ein breites Publikum entwirft.

Um plattformübergreifende Eingaben, einschließlich Maus/Tastatur, zu vereinfachen, bietet Roblox das Input Action System an, um Aktionen wie "springen", "sprinten" oder "schießen" zu definieren und Bindings für mehrere Hardwareeingaben einzurichten, die diese Aktionen auslösen.

Roblox unterstützt auch allgemeine Maus-/Tastatureingaben über UserInputService-Ereignisse wie InputBegan und InputEnded sowie Methoden wie IsKeyDown(), um zu überprüfen, ob eine bestimmte Taste auf einer Tastatur gedrückt ist.

Eingabetypenerkennung

Bei der plattformübergreifenden Entwicklung ist es wichtig, den PreferredInput-Typ, den ein Spieler verwendet, zu bestimmen und darauf zu reagieren, um sicherzustellen, dass UI-Elemente wie Bildschirmtasten und Menüs elegant funktionieren und die Interaktion über Geräte hinweg unterstützen.

Ein PC oder Laptop nimmt an, dass Maus/Tastatur die Standard-Eingabe ist, aber ein Spieler kann sich entscheiden, ein Bluetooth-Gamepad anzuschließen. In diesem Fall bleibt Maus/Tastatur eine gültige Eingabe, aber man kann davon ausgehen, dass der Spieler die Verbindung zum angeschlossenen Gamepad als primären Eingabetyp wechseln möchte.

Siehe Eingabetypenerkennung für weitere Informationen.

Allgemeine Maus-/Tastatureingabe

Über das Input Action System hinaus können Sie Maus- und Tastatureingaben mit UserInputService erfassen. Das folgende LocalScript, das in StarterPlayerScripts platziert wird, erfasst die Phasen des Beginns und Endes von Tastenanschlägen und Mausklicks und gibt das Ergebnis im Output-Fenster aus.

LocalScript - Ausgabe von Tasten-/Maus-Beginn und -Ende

local UserInputService = game:GetService("UserInputService")
local function onInputBegan(inputObject, processedEvent)
-- Rückgabe, wenn ein anderes Skript bereits die Eingabe verarbeitet hat
if processedEvent then return end
print(inputObject.KeyCode.Name, "begann!", inputObject.Position)
end
local function onInputEnded(inputObject, processedEvent)
-- Rückgabe, wenn ein anderes Skript bereits die Eingabe verarbeitet hat
if processedEvent then return end
print(inputObject.KeyCode.Name, "endet!", inputObject.Position)
end
UserInputService.InputBegan:Connect(onInputBegan)
UserInputService.InputEnded:Connect(onInputEnded)

Mauszeiger

Sie können das Erscheinungsbild und das Verhalten des Mauszeigers eines Spielers innerhalb Ihres Spiels anpassen, um einen kohärenten Stil über alle Ihre UI-Elemente hinweg zu schaffen. Dazu gehört das temporäre Ändern des Mauszeigers des Spielers unter bestimmten Umständen, z. B. wenn er über eine Schaltfläche fährt.

Sie können das Symbol der Maus des Spielers in einem LocalScript ändern, indem Sie die MouseIcon-Eigenschaft in UserInputService auf eine benutzerdefinierte Roblox-Asset-ID setzen. Zum Beispiel ändert das folgende LocalScript das Standardsymbol der Maus des Spielers in einen Kreis mit einem blauen Punkt in der Mitte.


local UserInputService = game:GetService("UserInputService")
UserInputService.MouseIcon = "rbxassetid://3400146391"
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.