TextBox
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Ein TextBox ermöglicht dem Spieler, Text-Eingaben zu liefern. Es funktioniert ähnlich wie ein TextButton, mit der ein einzelner Text-Box in den Fokus geraten, geklickt, getippt oder auf der Spielpad-Auswahl gesetzt werden kann. Während des Fokus kann der Spieler die Eigenschaft Text über die Tastatur ändern.
- Wenn kein Text vorhanden ist, wird der PlaceholderText sichtbar sein. Dies ist eine nützliche Anfrage, die Spieler von der Art oder der Form der Daten eingeben sollen, die sie eingeben sollen.
- Standardmäßig ist die ClearTextOnFocus-Eigenschaft aktiviert und stellt sicher, dass kein bestehender Text vorhanden ist, wenn eine Textbox konzentriert ist. Dies kann nicht begehrt sein für Text, der vom Spieler:inbearbeitet werden sollte.
- Die MultiLine-Eigenschaft ermöglicht es Spielern, mehrere Zeilen mit Neulinien-Charaktern ( \n ) einzugeben.
Der ContextActionService honoriert Textbox-Tastenbelegungen und verhindert automatisch, dass die Tasten drücken-Ereignisse an Aktionen gebunden mit ContextActionService:BindAction() werden. UserInputService.InputBegan und verwandte Ereignisse werden immer ausgeführt, wenn ein Textbox-Fokus ist.
Fokus-Zustand
Es ist möglich, den Fokuszustand eines TextBox zu erkennen und zu ändern:
- Du kannst CaptureFocus verwenden, wenn ein Dialog erscheint, damit der Spieler nicht auf eine Textbox klicken muss, wenn sie verfügbar ist; du kannst ContextActionService:BindAction() verwenden, um einen bestimmten Key zu binden, um eine Textbox mit dieser Funktion zu fokussieren. Wenn eine Textbox in Fokus kommt, wird das Ereignis
- Sie können überprüfen, ob eine bestimmte TextBox in Fokus ist, indem Sie IsFocused verwenden. Alternativ kann UserInputService:GetFocusedTextBox() verwendet werden, um zu überprüfen, ob eine bestimmte TextBox in Fokus ist.
- Wenn der Spieler fertig mit dem Eingeben von Text fertig ist, wird das Ereignis FocusLost ausgelöst, das anzeigt, ob der Benutzer Enter gedrückt hat, um den Text zusammen mit dem InputObject einschließlich der Verlustfokussierung zu senden. Wenn Sie auf Mobilger
- Wenn während des Gameplayeine wichtigere Angelegenheit auftritt, kannst du ReleaseFocus der TextBox, damit die Tastatur eines Spieler:inzurück in dein Spiel zurückkehrt.
Text bearbeiten
Ein TextBox unterstützt die Textauswahl durch seine CursorPosition und SelectionStart -Eigenschaften. Wenn Sie GetPropertyChangedSignal verwenden, können Sie erkennen, wenn sich eine Auswahl ändert. Darüber hinaus ist es möglich, dass Spieler Text innerhalb eines TextBox kopieren und einfügen
Text-Filtering-Hinweis Spiele, die die Kommunikation zwischen Spielern mit Text ermöglichen, wie z. B. benutzerdefinierte Chat oder Namensschilder, müssen den Text mit TextService:FilterStringAsync() oder Chat:FilterStringAsync() richtig filtern. Wenn dies nicht richtig getan wird, kann Ihr Spiel eine Actionerhalten.
Code-Beispiele
-- Place this code in a LocalScript inside a TextBox
local textBox = script.Parent
local secretWord = "roblox"
local colorNormal = Color3.new(1, 1, 1) -- white
local colorWrong = Color3.new(1, 0, 0) -- red
local colorCorrect = Color3.new(0, 1, 0) -- green
-- Initialize the state of the textBox
textBox.ClearTextOnFocus = true
textBox.Text = ""
textBox.Font = Enum.Font.Code
textBox.PlaceholderText = "What is the secret word?"
textBox.BackgroundColor3 = colorNormal
local function onFocused()
textBox.BackgroundColor3 = colorNormal
end
local function onFocusLost(enterPressed, _inputObject)
if enterPressed then
local guess = textBox.Text
if guess == secretWord then
textBox.Text = "ACCESS GRANTED"
textBox.BackgroundColor3 = colorCorrect
else
textBox.Text = "ACCESS DENIED"
textBox.BackgroundColor3 = colorWrong
end
else
-- The player stopped editing without pressing Enter
textBox.Text = ""
textBox.BackgroundColor3 = colorNormal
end
end
textBox.FocusLost:Connect(onFocusLost)
textBox.Focused:Connect(onFocused)
Zusammenfassung
Eigenschaften
Bestimmt, ob das Klicken auf die TextBox seine TextBox.Text Eigenschaftenlöschen wird.
Bestimmt den Offset des Textcurrors in Bytes oder -1, wenn kein Cursor vorhanden ist.
Bestimmt die Schriftart, die verwendet wird, um Text zu rendern.
Bestimmt die Schriftart, die verwendet wird, um Text zu rendern.
Skaliert die Abstände zwischen Zeilen im TextBox .
Die maximale Anzahl von Graphen, die TextBox anzeigenkann.
Wenn auf "Ja" gesetzt, kann der Text innerhalb einer TextBox auf mehrere Zeilen verschoben werden. Dies ermöglicht auch, dass Spieler die Enter-Taste verwenden, um auf eine neue Zeile zu wechseln.
Setzt die Textfarbe, die verwendet wird, wenn noch kein Text in die TextBox eingegeben wurde.
Setzt den Text, der angezeigt wird, wenn noch kein Text in die TextBox eingegeben wurde.
Bestimmt, ob die TextBox die TextBox.Text Strings mit reichlicher Text格式 rendert.
Bestimmt die Ausgangsposition einer Textauswahl oder -1, wenn kein Text ausgewählt ist.
Wenn auf wahr gesetzt, wird die nativen Eingabe auf die Plattform verwendet, anstatt Roblox's integriertem Tastatur.
Bestimmt die Strings, die von der UI-Elementanzeige rend染됩니다。
Die Größe des Textes eines UI-Elements in Offsets.
Bestimmt die Farbe des gerenderten Textes.
Bestimmt, ob der Benutzer das Text ändern kann.
Ob der Text innerhalb der Einschränkungen der TextBox passt.
Ändert, ob der Text auf das GUI-Objekt skaliert wird, das ihn rendert.
Bestimmen Sie die Zeilshöhe des Textes in Offsets.
Bestimmt die Farbe des Textstoßes (Umriss).
Bestimmt die Transparenz des Textes (Umriss).
Bestimmt die Transparenz des gerenderten Textes.
Steuert die Kürzung des Textes, die in dieser Textkiste angezeigt wird.
Bestimmt, ob Text-Wraps in mehreren Zeilen innerhalb des GUI Platzzusammengesetzt werden, überschüssigen Text zuschneiden.
Bestimmt die horizontale Ausrichtung des gerenderten Textes.
Bestimmt die vertikale Ausrichtung des gerenderten Texts.
Bestimmt, ob dieses UI-Element die Eingabe sinkt.
Bestimmt den Ursprungspunkt eines GuiObject , relativer zu seiner absoluten Größe.
Bestimmt, ob das Skalieren basierend auf Kindern Inhalt.
Bestimmt die Hintergrundfarbe des GuiObject.
Bestimmt die Transparenz der GuiObject -Hintergrund und -Rand.
Bestimmt die Farbe der GuiObject Grenze.
Bestimmt, in welcher Weise die GuiObject Kante relativ zu ihren Dimensionen platziert ist.
Bestimmt die Pixelbreite der GuiObject Grenze.
Bestimmt, ob der Nachkomme GuiObjects außerhalb der Grenzen eines Eltern-GUI-Elements rendernwerden soll.
Bestimmt, ob die Maus des Spieler:inauf dem GuiObject aktiviert wird oder nicht.
Bestimmt, ob das GuiButton mit oder ohne Interaktion möglich ist, oder ob das GuiState der GuiObject geändert wird oder nicht.
Steuert die Sortierungsordnung der GuiObject bei Verwendung mit einem UIGridStyleLayout.
Setzt das GuiObject, das ausgewählt wird, wenn der Gamepad-Auswahlhebel nach unten verschoben wird.
Setzt das GuiObject, das ausgewählt wird, wenn der Gamepad-Auswahl器 nach links verschoben wird.
Setzt das GuiObject, das ausgewählt wird, wenn der Gamepad-Auswahlheber rechts verschoben wird.
Setzt das GuiObject, das ausgewählt wird, wenn der Gamepad-Auswahlheber nach oben verschoben wird.
Bestimmt die Pixel- und SkalierungsPosition des GuiObject.
Bestimmt die Anzahl der Grad, in denen das GuiObject gedreht wird.
Bestimmen Sie, ob das GUI durch eine Gamepadausgewählt werden kann.
Überschreibt die Standard-Auswahlornamente für Gamepads.
Die Reihenfolge von GuiObjects , die von der Spielpad-Auswahl ausgewählt wurde.
Bestimmt die Pixel- und Skalierungsgröße des GuiObject.
Setzt die Size Achsen, auf denen die GuiObject basieren wird, relativ zur Größe ihres übergeordnetes Teil.
Eine gemischte Eigenschaft von BackgroundTransparency und TextTransparency.
Bestimmt, ob das GuiObject und seine Nachkommen gerendert werden.
Bestimmt die Reihenfolge, in der ein GuiObject relativo zu anderen rendert.
Beschreibt die tatsächliche Bildschirmposition eines UI-Elements in Pixeln.
Beschreibt die tatsächliche Bildschirmdrehung eines UI-Elements, in Grad.
Beschreibt die tatsächliche Bildschirmgröße eines UI-Elements in Pixel.
Wenn auf wahr gesetzt, wird die Lokalisierung auf diesen GuiBase2d und seinen Nachkommen angewendet.
Eine Verweisung auf eine LocalizationTable , die verwendet wird, um automatisierte Lokalisierung auf diesen GuiBase2d und seinen Nachkommen anzuwenden.
Benutzerdefiniert das Verhalten der Gamepad-Auswahl in Richtung unten.
Anpassen Sie das Gamepad-Auswahlverhalten in der linken Richtung.
Benutzerdefiniert das Verhalten der Spielpad-Auswahl in die richtige Richtung.
Benutzerdefiniert das Verhalten der Gamepad-Auswahl in Richtung nach oben.
Erlaubt die Anpassung der Gamepad-Auswahl.
Methoden
Erzwingt den Client, sich auf die TextBox zu konzentrieren.
Kehrt wahr zurück, wenn die Textbox fokussiert ist, oder falsch, wenn sie nicht ist.
Erzwingt den Client, die TextBox zu entsperren.
- TweenPosition(endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Bewegt eine GUI mühelos zu einem neuen UDim2.
- TweenSize(endSize : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Skaliert eine GUI makellos zu einer neuen UDim2 .
- TweenSizeAndPosition(endSize : UDim2,endPosition : UDim2,easingDirection : Enum.EasingDirection,easingStyle : Enum.EasingStyle,time : number,override : bool,callback : function):bool
Verschwindet ein GUI mühelos auf eine neue Größe und Position.
Ereignisse
Ereignisse von GuiObject übernommenAusgelöst, wenn ein Benutzer mit einem Human-Computer-Interface-Gerät (Maus-Button, Touch-Anfang, Tastatur-Button usw.) interagiert.
Ausgelöst, wenn ein Benutzer die Interaktion über ein Mensch-Computer-Schnittstelle-Gerät (Maus-Button nach unten, Touch-Anfang, Tastatur-Button nach unten usw.) ändert.
Ausgelöst, wenn ein Benutzer die Interaktion über ein Mensch-Computer-Schnittstelle (Maus-Button, Touch-Beginn, Tastatur-Button usw.) aufgibt.
Feuert, wenn ein Benutzer seine Maus in ein GUI-Element bewegt.
Feuert, wenn ein Benutzer seine Maus aus einem GUI-Element bewegt.
Feuert, wenn ein Benutzer seine Maus bewegt, während sie in einem GUI-Element ist.
Feuert, wenn ein Benutzer seine Maus zurück scrollt, wenn die Maus über ein GUI-Element ist.
Feuert, wenn ein Benutzer seine Maus auf ein GUI-Element bewegt, wenn die Maus über einem GUI-Element ist.
Feuern, wenn das GuiObject mit dem Gamepad-Auswahl器 konzentriert wird.
Feuern, wenn der Gamepad-Auswahlbereich auf das GuiObject aufhört, sich zu konzentrieren.
Feuert, wenn der Spieler startet, hält und stoppt das Drücken der UI.
- TouchPan(touchPositions : Array,totalTranslation : Vector2,velocity : Vector2,state : Enum.UserInputState):RBXScriptSignal
Feuert, wenn der Spieler seinen Finger auf dem UI-Element bewegt.
- TouchPinch(touchPositions : Array,scale : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Feuert, wenn der Spieler einen Pinch oder Ziehvorgang mit zwei Fingern auf der UI-Element ausführt.
- TouchRotate(touchPositions : Array,rotation : number,velocity : number,state : Enum.UserInputState):RBXScriptSignal
Feuert, wenn der Spieler einen Rotierungs-Gestalt mit zwei Fingern auf dem UI-Element ausführt.
Feuert, wenn der Spieler eine Swipe-Geste auf dem UI-Element ausführt.
Feuert, wenn der Spieler eine Berührung auf dem UI-Element ausführt.
- SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal
Feuert, wenn die Gamepad-Auswahl bewegt wird, geht oder sich in der verbundenen GuiBase2d oder einem Nachfolge GuiObjekten ändert.
Eigenschaften
ClearTextOnFocus
Bestimmt, ob das Klicken auf die TextBox seine TextBox.Text Eigenschaftenlöschen wird
ContentText
CursorPosition
CursorPosition bestimmt die Versetztheit des Textcurrors in Bytes oder -1, wenn die Textbox derzeit nicht bearbeitet wird. Ein Wert von 1 repräsentiert den Anfang, die Position vor dem ersten Byte in der Text Eigenschaften. Wenn er in Kombination mit der SelectionStart Eigenschaftenverwendet wird, kann sow
Es sollte beachtet werden, dass die Einheiten dieser Eigenschaft Bytes sind und dass viele unicode-Zeichen wie Emoji länger als 1 Byte sind. Zum Instanz, wenn ein Spieler in die TextBox "Hallo👋" eingibt – "Hallo" sofort gefolgt von dem Waving-Hand-Zeichen – der Cursor-Position wäre 10, nicht 7, da der Emoji 4 Bytes verwendet.
Code-Beispiele
local textBox = script.Parent
local function showSelection()
if textBox.CursorPosition == -1 or textBox.SelectionStart == -1 then
print("No selection")
else
local selectedText = string.sub(
textBox.Text,
math.min(textBox.CursorPosition, textBox.SelectionStart),
math.max(textBox.CursorPosition, textBox.SelectionStart)
)
print('The selection is:"', selectedText, '"')
end
end
textBox:GetPropertyChangedSignal("CursorPosition"):Connect(showSelection)
textBox:GetPropertyChangedSignal("SelectionStart"):Connect(showSelection)
Font
DieFont-Eigenschaft wählt eine der mehrere vordefinierten fonts, mit denen das UI-Element seinen Text rendert. Einige Schriften haben krasse,italic und/oder hell Varianten (da es keine Schriftgewicht oder Stil Eigenschaften gibt).
Mit Ausnahme der "Legacy"-Schrift, rendert jede Schrift Text mit der Zeilenniveau, die der TextBox.TextSize Eigenschaftenentspricht. Die "Code"-Schrift ist die einzige Monospace-Schrift. Sie hat die einzigartige Eigenschaft, dass jeder Charakter die genaue Breite und Höherate von 1:2 hat. Die Breite jedes Charakters beträgt etwa die Hälfte der Class.Toolbar
Diese Eigenschaft wird mit der TextBox.FontFace Eigenschaftensynchronisiert. Wenn Sie die Schriftart einstellen, wird die Schriftart auf Font.fromEnum(value) gesetzt.
Code-Beispiele
local textLabel = script.Parent
while true do
-- Iterate over all the different fonts
for _, font in pairs(Enum.Font:GetEnumItems()) do
textLabel.Font = font
textLabel.Text = font.Name
task.wait(1)
end
end
local frame = script.Parent
-- Create a TextLabel displaying each font
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Set the text properties
textLabel.Text = font.Name
textLabel.Font = font
-- Some rendering properties
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Size the frame equal to the height of the text
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Add to the parent frame
textLabel.Parent = frame
end
-- Layout the frames in a list (if they aren't already)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
end
FontFace
Die FontFace-Eigenschaft ähnelt der Eigenschaften, aber erlaubt es, Schriften zu setzen, die in der Font-Liste nicht existieren.
Diese Eigenschaft wird mit der TextBox.Font Eigenschaftensynchronisiert. Wenn Sie die Schriftart einrichten, wird die Schriftart auf den entsprechenden Enumerie-Wert oder auf Enum.Font.Unknown gesetzt, wenn keine Matches vorhanden sind.
LineHeight
Steuert die Höhe von Zeilen, als Vielfaches der Schriftgröße, indem Sie die Abstand zwischen Zeilen des Textes im TextBox skalieren. Gültige Werte reichen von 1.0 bis 3.0, standardmäßig auf 1.0.
MaxVisibleGraphemes
Dieses Eigenschaften kontrolliert die maximale Anzahl von Graphemen (oder Einheiten von Text), die auf dem TextBox angezeigt werden, unabhängig davon, ob es die TextBox.PlaceholderText oder TextBox.Text anzeigt.
Die Änderung der Eigenschaft ändert die Position oder Größe der sichtbaren Grapheme nicht - die Platzierung wird berechnet, als ob alle Grapheme sichtbar wären.
Das Setzen der Eigenschaft auf -1 deaktiviert das Limit und zeigt die Gesamtheit des TextBox.Text .
MultiLine
Wenn auf "Ja" gesetzt, kann der Text innerhalb einer TextBox auf mehrere Zeilen verschoben werden. Dies ermöglicht auch, dass Spieler die Enter-Taste verwenden, um auf eine neue Zeile zu wechseln.
OpenTypeFeatures
OpenTypeFeaturesError
PlaceholderColor3
Setzt die Textfarbe, die verwendet wird, wenn noch kein Text in die TextBox eingegeben wurde.
PlaceholderText
Setzt den Text, der angezeigt wird, wenn noch kein Text in die TextBox eingegeben wurde.
RichText
Dieses Eigenschaft bestimmt, ob das TextBox die TextBox.Text -String mit reichlichem Textformat anzeigt. Rich-Text verwendet einfache Markierungs-Tags, um Abschnitte der Strings in Bold, Items und mehr zu stylen.
Um reichlichen Text zu verwenden, füge einfach Formulierungs-Tags in die TextBox.Text -String ein.
Beachten Sie, dass wenn das TextBox diese Eigenschaft aktiviert hat und die Box fokussiert wird, der Benutzer in der Lage sein wird, die komplette Stringzu bearbeiten und mit dem Benutzer zu interagieren, einschließlich aller Formattags. Wenn der Fokus verloren geht, wird der Text automatisch ausgeführt und die Tags als reicher Text rendern.
SelectionStart
Bestimmt die Startposition eines Textauswahl- oder -1, wenn die TextBox keine Reichweite ausgewählten Texts hat. Wenn der Wert -1 oder ähnlich ist CursorPosition, gibt es keine Reichweite ausgewählten Texts. Diese Eigenschaft verwendet die gleiche Platzierungslogik wie CursorPosition. SelectionStart wird größer sein als CursorPosition, wenn der Cursor am beendeneiner Auswahl ist, und kleiner als
Code-Beispiele
local textBox = script.Parent
local function showSelection()
if textBox.CursorPosition == -1 or textBox.SelectionStart == -1 then
print("No selection")
else
local selectedText = string.sub(
textBox.Text,
math.min(textBox.CursorPosition, textBox.SelectionStart),
math.max(textBox.CursorPosition, textBox.SelectionStart)
)
print('The selection is:"', selectedText, '"')
end
end
textBox:GetPropertyChangedSignal("CursorPosition"):Connect(showSelection)
textBox:GetPropertyChangedSignal("SelectionStart"):Connect(showSelection)
ShowNativeInput
Wenn auf wahr gesetzt, wird die nativen Eingabe auf die Plattform verwendet, anstatt Roblox's integriertem Tastatur.
Text
Die Text-Eigenschaft bestimmt den Inhalt, der von der UI-Element rendert wird. Die visuellen Eigenschaften der Strings, die auf den Bildschirm gerendert werden, werden von TextBox.TextColor3
Es ist möglich, Emoji (z. B. 😃) und andereSymbole zu rendern. Diese SpezialSymbole sind nicht vom TextBox.TextColor3 Eigenschaft betroffen. Sie können in Script und LocalScript Objekten eingefügt werden, sowie in das Feld innerhalb des Eigenschaften-Fensters.
Dieses Eigenschaft kann neue Zeilennamen enthalten, ist aber nicht möglich, neue Zeilennamen innerhalb des Eigenschaften-Fensters zu tippen. Ähnlich ist es nicht möglich, dieses Eigenschaft ein Tab-Zeichen zu enthalten, aber es wird als Leertaste ausgegeben.
Code-Beispiele
local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Welcome to my game!",
"Be sure to have fun!",
"Please give suggestions!",
"Be nice to other players!",
"Don't grief other players!",
"Check out the shop!",
"Tip: Don't die!",
}
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local RNG = Random.new()
local fadeIn = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 0,
})
local fadeOut = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 1,
})
local lastIndex
while true do
-- Step 0: Fade out before doing anything
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Step 1: pick content that wasn't the last displayed
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Make sure we don't show the same thing next time
lastIndex = index
-- Step 2: show the content
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
end
local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end
local frame = script.Parent
-- Create a TextLabel displaying each font
for _, font in pairs(Enum.Font:GetEnumItems()) do
local textLabel = Instance.new("TextLabel")
textLabel.Name = font.Name
-- Set the text properties
textLabel.Text = font.Name
textLabel.Font = font
-- Some rendering properties
textLabel.TextSize = 24
textLabel.TextXAlignment = Enum.TextXAlignment.Left
-- Size the frame equal to the height of the text
textLabel.Size = UDim2.new(1, 0, 0, textLabel.TextSize)
-- Add to the parent frame
textLabel.Parent = frame
end
-- Layout the frames in a list (if they aren't already)
if not frame:FindFirstChildOfClass("UIListLayout") then
local uiListLayout = Instance.new("UIListLayout")
uiListLayout.Parent = frame
end
local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end
local textLabel = script.Parent
local moods = {
["happy"] = "😃",
["sad"] = "😢",
["neutral"] = "😐",
["tired"] = "😫",
}
while true do
for mood, face in pairs(moods) do
textLabel.Text = "I am feeling " .. mood .. "! " .. face
task.wait(1)
end
end
TextBounds
Die "Nur-Lektüre"-Eigenschaft TextBounds gibt die absolute Größe des gerenderten Textes in Offsets wieder. In anderen Worten, wenn Sie versuchen, Text in ein Rectangle zu passen, würde diese Eigenschaft die minimale Größe des Rectangles wiedergeben, die Sie benötigen, um den Text einzupassen.
Mit TextService:GetTextSize() , kannst du vorhersagen, welche TextBounds auf einem TextLabel gegeben eine String, TextBox.Font , TextBox.TextSize und Frame Size sein.
Code-Beispiele
local textBox = script.Parent
-- The smallest the TextBox will go
local minWidth, minHeight = 10, 10
-- Set alignment so our text doesn't wobble a bit while we type
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextYAlignment = Enum.TextYAlignment.Top
local function updateSize()
textBox.Size = UDim2.new(0, math.max(minWidth, textBox.TextBounds.X), 0, math.max(minHeight, textBox.TextBounds.Y))
end
textBox:GetPropertyChangedSignal("TextBounds"):Connect(updateSize)
TextColor3
Dieses Eigenschaft bestimmt die Farbe des gesamten Textes, der von einem GUI Element rendert wird. Dieses Eigenschaft zusammen mit TextBox.Font , TextBox.TextSize und 1> Class.Toolbar.TextTransparency1> wird die visuellen Eigenschaften des Texts rendern. Text wird
Es ist wichtig, dass der Text einfach von Spielern gelesen werden kann! Stellen Sie sicher, dass Sie Farben mit geringer bis kaumer Sättigung, wie Weiß, Grau oder Schwarz, wählen. Stellen Sie sicher, dass die Farbe Ihres Textes von der TextBox.BackgroundColor3 der UI-Element angewendet wird. Wenn die Elemente eine transparente Hintergrund haben, versuchen Sie, einen
Code-Beispiele
local textBox = script.Parent
local function hasVowels(str)
return str:lower():find("[aeiou]")
end
local function onTextChanged()
local text = textBox.Text
-- Check for vowels
if hasVowels(text) then
textBox.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textBox.TextColor3 = Color3.new(1, 0, 0) -- Red
end
end
textBox:GetPropertyChangedSignal("Text"):Connect(onTextChanged)
-- Place this code in a LocalScript inside a TextBox
local textBox = script.Parent
local secretWord = "roblox"
local colorNormal = Color3.new(1, 1, 1) -- white
local colorWrong = Color3.new(1, 0, 0) -- red
local colorCorrect = Color3.new(0, 1, 0) -- green
-- Initialize the state of the textBox
textBox.ClearTextOnFocus = true
textBox.Text = ""
textBox.Font = Enum.Font.Code
textBox.PlaceholderText = "What is the secret word?"
textBox.BackgroundColor3 = colorNormal
local function onFocused()
textBox.BackgroundColor3 = colorNormal
end
local function onFocusLost(enterPressed, _inputObject)
if enterPressed then
local guess = textBox.Text
if guess == secretWord then
textBox.Text = "ACCESS GRANTED"
textBox.BackgroundColor3 = colorCorrect
else
textBox.Text = "ACCESS DENIED"
textBox.BackgroundColor3 = colorWrong
end
else
-- The player stopped editing without pressing Enter
textBox.Text = ""
textBox.BackgroundColor3 = colorNormal
end
end
textBox.FocusLost:Connect(onFocusLost)
textBox.Focused:Connect(onFocused)
-- Place this code in a LocalScript within a TextLabel/TextButton
local textLabel = script.Parent
-- Some colors we'll use with TextColor3
local colorNormal = Color3.new(0, 0, 0) -- black
local colorSoon = Color3.new(1, 0.5, 0.5) -- red
local colorDone = Color3.new(0.5, 1, 0.5) -- green
-- Loop infinitely
while true do
-- Count backwards from 10 to 1
for i = 10, 1, -1 do
-- Set the text
textLabel.Text = "Time: " .. i
-- Set the color based on how much time is left
if i > 3 then
textLabel.TextColor3 = colorNormal
else
textLabel.TextColor3 = colorSoon
end
task.wait(1)
end
textLabel.Text = "GO!"
textLabel.TextColor3 = colorDone
task.wait(2)
end
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- Place a StringValue called "GameState" in the ReplicatedStorage
local vGameState = ReplicatedStorage:WaitForChild("GameState")
-- Place this code in a TextLabel
local textLabel = script.Parent
-- Some colors we'll use with TextColor3
local colorNormal = Color3.new(0, 0, 0) -- black
local colorCountdown = Color3.new(1, 0.5, 0) -- orange
local colorRound = Color3.new(0.25, 0.25, 1) -- blue
-- We'll run this function to update the TextLabel as the state of the
-- game changes.
local function update()
-- Update the text
textLabel.Text = "State: " .. vGameState.Value
-- Set the color of the text based on the current game state
if vGameState.Value == "Countdown" then
textLabel.TextColor3 = colorCountdown
elseif vGameState.Value == "Round" then
textLabel.TextColor3 = colorRound
else
textLabel.TextColor3 = colorNormal
end
end
-- Pattern: update once when we start and also when vGameState changes
-- We should always see the most updated GameState.
update()
vGameState.Changed:Connect(update)
TextDirection
TextEditable
TextEditable bestimmt, ob der Benutzer die Text durch Eingabe ändern kann. Es wird empfohlen, ClearTextOnFocus zu deaktivieren, wenn diese Eigenschaft deaktiviert ist, sonst kann der Text beim Fokus aufgerufen werden. Diese Eigenschaft ist nützlich, um kopierbare TextBoxen aus denen der Inhalt im
TextScaled
Statt TextScaled zu verwenden, empfehlen wir Ihnen, AutomaticSize zu verwenden, eine neue Methode, die die visuelle Ansicht dynamisch skaliert, um Ihnen das beste visuelle Ergebnis zu liefern.
Die TextSkalierung-Eigenschaft bestimmt, ob der Text so skaliert wird, dass er den gesamten Platzfüllt. Wenn dies aktiviert ist, wird TextBox.TextSize ignoriert und TextBox.TextWrapped automatisch aktiviert. Diese Eigenschaft ist nützlich für die Text-Renderung von UI-Elementen innerhalb von BillboardGuis .
Wenn dieses Eigenschaft für Screen-Space-UI verwendet wird, kann es sinnvoll sein, ein UITextSizeConstraint zu verwenden, um die Reichweite der möglichen Textgrößen zu begrenzen.
TextSkaliert und Automatische Größe
Es wird empfohlen, dass Entwickler die Verwendung von TextScaled vermeiden und die UI anpassen, um stattdessen die Eigenschaft AutomaticSize zu nutzen. Hier sind die Haupterschiede zwischen den beiden Eigenschaften:
- TextScaled skaliert den Inhalt (Text), um die UI unterzubringen. Ohne sorgfältige Überlegung kann einige Textzeilen unleserlich werden, wenn er zu klein skaliert wird.
- AutomaticSize passt die UI an, um Inhalte unterzubringen.
Mit der automatischen Größe können Sie Ihre UI anpassen, um den Inhalt (Text) unterzubringen, während Sie eine konstante Schriftgröße verwenden. Weitere Informationen darüber, wie Sie die automatische Größe verwenden, finden Sie im Artikel "Automatische Schriftgröße".
Wir schlagen vor, dass Sie beide TextScaled und AutomaticSize nicht auf demselben UI-Objekt anwenden. Wenn Sie beide Eigenschaften anwenden:
- AutomaticSize bestimmt die maximale Menge verfügbarer Platz, die ein GuiObject verwenden kann (in diesem Fall, Text)
- TextScaled verwendet den verfügbaren Platz, der von AutomaticSize bestimmt ist, um die Schriftgröße anzupassen, um den verfügbaren Platz zu füllen, was bis zum maximalen Schriftgrößen (100) erweitert wird, wenn keine Größenbeschränkungen vorhanden sind
- Das Ergebnis wird sein: Text geht auf 100 Zeichengröße und das UI-Objekt wird sich erweitern, um diesen Text zu fassen
Das gleichzeitige Verwenden von both AutomaticSize und TextScaled kann zu erheblichen Skalierungsdifferen führen, als wenn AutomaticSize ausgeschaltet ist.
Code-Beispiele
local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end
TextSize
Die TextSize-Eigenschaft bestimmt die Höhe in Offsets einer Zeile des gerenderten Textes. Die Einheit ist in Offsets, nicht Punkten (was in den meisten Dokumenten-Editor-Programmen verwendet wird). Die "Legacy"-Schriftart enthält diese Eigenschaftennicht.
Code-Beispiele
local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end
TextStrokeColor3
Die TextStrokeColor3-Eigenschaft setzt die Farbe des Strokes oder der Umrissung des gerenderten Textes. Diese Eigenschaft und TextBox.TextStrokeTransparency ermitteln die visuellen Eigenschaften des Textstrokes.
Textstick wird vor dem normalen Text gerendert und ist einfach 4 Renderings des gleichen Textes in +/- 1 Pixel-Versatz in jede Richtung. Textstick-Renderung funktioniert unabhängig und identisch zu TextBox.TextColor3 und TextBox.TextTransparency.
Code-Beispiele
local textLabel = script.Parent
-- How fast the highlight ought to blink
local freq = 2
-- Set to yellow highlight color
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin oscillates from -1 to 1, so we change the range to 0 to 1:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
end
TextStrokeTransparency
Die TextStrokeTransparency-Eigenschaft setzt die Transparenz des Stocks oder Umrisses des gerenderten Textes. Diese Eigenschaft und TextBox.TextStrokeColor3 ermitteln die visuellen Eigenschaften des Textstocks.
Textstick wird vor normalem Text gerendert und ist einfach 4 Renderings des gleichen Textes in +/- 1 Pixel-Versatz in jede Richtung. Textstick-Renderung funktioniert unabhäng
Code-Beispiele
local textLabel = script.Parent
-- How fast the highlight ought to blink
local freq = 2
-- Set to yellow highlight color
textLabel.TextStrokeColor3 = Color3.new(1, 1, 0)
while true do
-- math.sin oscillates from -1 to 1, so we change the range to 0 to 1:
local transparency = math.sin(workspace.DistributedGameTime * math.pi * freq) * 0.5 + 0.5
textLabel.TextStrokeTransparency = transparency
task.wait()
end
TextTransparency
Die TextColor3-Eigenschaft bestimmt die Transparenz des gesamten Textes, der von einem UI-Element gerendert wird. Diese Eigenschaft zusammen mit TextBox.Font , TextBox.TextSize und TextBox.TextColor3 wird die visuellen Eigenschaften des Texts bestimmen. Der Text wird nach dem Textstift ( 1> Class.Toolbar.TextStrokeTransparency</
Fading Text in der Verwendung einer numerischen For-Loop ist eine fantastische Möglichkeit, den Aufmerksamkeit eines Spieler:inauf Text, der auf dem Bildschirm angezeigt wird, zu ziehen.
-- Count backwards from 1 to 0, decrementing by 0.1for i = 1, 0, -0.1 dotextLabel.TextTransparency = itask.wait(0.1)end
Code-Beispiele
local TweenService = game:GetService("TweenService")
local textLabel = script.Parent
local content = {
"Welcome to my game!",
"Be sure to have fun!",
"Please give suggestions!",
"Be nice to other players!",
"Don't grief other players!",
"Check out the shop!",
"Tip: Don't die!",
}
local tweenInfo = TweenInfo.new(1, Enum.EasingStyle.Sine, Enum.EasingDirection.InOut)
local RNG = Random.new()
local fadeIn = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 0,
})
local fadeOut = TweenService:Create(textLabel, tweenInfo, {
TextTransparency = 1,
})
local lastIndex
while true do
-- Step 0: Fade out before doing anything
fadeOut:Play()
task.wait(tweenInfo.Time)
-- Step 1: pick content that wasn't the last displayed
local index
repeat
index = RNG:NextInteger(1, #content)
until lastIndex ~= index
-- Make sure we don't show the same thing next time
lastIndex = index
-- Step 2: show the content
textLabel.Text = content[index]
fadeIn:Play()
task.wait(tweenInfo.Time + 1)
end
local textLabel = script.Parent
textLabel.Text = "Kaboom!"
while true do
for size = 5, 100, 5 do
textLabel.TextSize = size
textLabel.TextTransparency = size / 100
task.wait()
end
task.wait(1)
end
TextTruncate
Steuert die Kürzung des Textes, die in dieser Textkiste angezeigt wird.
TextWrapped
Wenn aktiviert, wird der Text auf mehreren Zeilen innerhalb eines GUI Elements so dargestellt, dass TextBox.TextBounds niemals die GuiBase2d.AbsoluteSize des GUI-Elements überschreiten.
Dies wird durch das Aufteilen langer Zeilen in mehrere Zeilen erreicht. Zeilennachweise bevorzugen Weißraum; wenn ein langes unbrokenes Wort die Breite des Elements überschreitet, wird das Wort in mehrere Zeilen aufgeteilt.
Wenn weitere Zeilensplits die vertikale Höhe des Texts (die Y-Komponente von TextBox.TextBounds ) überschreitet, wird diese Zeile nicht gerendert, wenn die vertikale Höhe des Elements (die Y-Komponente von GuiBase2d.AbsoluteSize ) nicht überschreitet.
Code-Beispiele
local textLabel = script.Parent
-- This text wrapping demo is best shown on a 200x50 px rectangle
textLabel.Size = UDim2.new(0, 200, 0, 50)
-- Some content to spell out
local content = "Here's a long string of words that will "
.. "eventually exceed the UI element's width "
.. "and form line breaks. Useful for paragraphs "
.. "that are really long."
-- A function that will spell text out two characters at a time
local function spellTheText()
-- Iterate from 1 to the length of our content
for i = 1, content:len() do
-- Get a substring of our content: 1 to i
textLabel.Text = content:sub(1, i)
-- Color the text if it doesn't fit in our box
if textLabel.TextFits then
textLabel.TextColor3 = Color3.new(0, 0, 0) -- Black
else
textLabel.TextColor3 = Color3.new(1, 0, 0) -- Red
end
-- Wait a brief moment on even lengths
if i % 2 == 0 then
task.wait()
end
end
end
while true do
-- Spell the text with scale/wrap off
textLabel.TextWrapped = false
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with wrap on
textLabel.TextWrapped = true
textLabel.TextScaled = false
spellTheText()
task.wait(1)
-- Spell the text with text scaling on
-- Note: Text turns red (TextFits = false) once text has to be
-- scaled down in order to fit within the UI element.
textLabel.TextScaled = true
-- Note: TextWrapped is enabled implicitly when TextScaled = true
--textLabel.TextWrapped = true
spellTheText()
task.wait(1)
end
TextXAlignment
TextXAlignment bestimmt die horizontale Ausrichtung (X-Achse) des Textes, der innerhalb des Platzes eines UI-Elements gerendert wird. Es funktioniert ähnlich wie die Eigenschaften, mit linken, rechten und mittleren Werten (es gibt keine Rechtfertigungsoption). Für Linke und Rechte wird der Text so gerendert, dass die linken/rechten Textkanten die Kante des UI-Elementrechtecken berühren. Für Zentrum wird jede Zeile des Textes in der Mitte des UI-Elementre
Dieses Eigenschaft wird in Zusammenarbeit mit TextBox.TextYAlignment verwendet, um das Textausrichtung auf beiden Achsen vollständig zu bestimmen. Dieses Eigenschaft wird die read-only-Eigenschaften TextBox.TextBounds und TextBox.TextFits nicht beeinflussen.
Code-Beispiele
-- Paste this in a LocalScript within a TextLabel/TextButton/TextBox
local textLabel = script.Parent
local function setAlignment(xAlign, yAlign)
textLabel.TextXAlignment = xAlign
textLabel.TextYAlignment = yAlign
textLabel.Text = xAlign.Name .. " + " .. yAlign.Name
end
while true do
-- Iterate over both TextXAlignment and TextYAlignment enum items
for _, yAlign in pairs(Enum.TextYAlignment:GetEnumItems()) do
for _, xAlign in pairs(Enum.TextXAlignment:GetEnumItems()) do
setAlignment(xAlign, yAlign)
task.wait(1)
end
end
end
TextYAlignment
TextYAlignment bestimmt die vertikale Ausrichtung (Y-Achse) des Textes, der in einem Platzgerendert wird. Für oben und unten wird der Text so gerendert, dass die oberen/unteren Textgrenzen die Kante des UI-Element-Rechtecken berühren. Für Center wird der Text so gerendert, dass es einen gleichmäßigen Raum von den oberen Textgrenzen des Textes bis zur Spitze des Elements und den unteren Textgrenzen des Textes bis zur Spitze des Elements gibt.
Dieses Eigenschaft wird in Zusammenarbeit mit TextBox.TextXAlignment verwendet, um das Textausrichtung auf beiden Achsen vollständig zu bestimmen. Dieses Eigenschaft wird die read-only-Eigenschaften TextBox.TextBounds und TextBox.TextFits nicht beeinflussen.
Code-Beispiele
-- Paste this in a LocalScript within a TextLabel/TextButton/TextBox
local textLabel = script.Parent
local function setAlignment(xAlign, yAlign)
textLabel.TextXAlignment = xAlign
textLabel.TextYAlignment = yAlign
textLabel.Text = xAlign.Name .. " + " .. yAlign.Name
end
while true do
-- Iterate over both TextXAlignment and TextYAlignment enum items
for _, yAlign in pairs(Enum.TextYAlignment:GetEnumItems()) do
for _, xAlign in pairs(Enum.TextXAlignment:GetEnumItems()) do
setAlignment(xAlign, yAlign)
task.wait(1)
end
end
end
Methoden
CaptureFocus
Erzwingt den Client, sich auf die TextBox zu konzentrieren.
Rückgaben
Code-Beispiele
local ContextActionService = game:GetService("ContextActionService")
local ACTION_NAME = "FocusTheTextBox"
local textBox = script.Parent
local function handleAction(actionName, inputState, _inputObject)
if actionName == ACTION_NAME and inputState == Enum.UserInputState.End then
textBox:CaptureFocus()
end
end
ContextActionService:BindAction(ACTION_NAME, handleAction, false, Enum.KeyCode.Q)
IsFocused
Kehrt wahr zurück, wenn die Textbox fokussiert ist, oder falsch, wenn sie nicht ist.
Rückgaben
ReleaseFocus
Erzwingt den Client, die TextBox zu entfokussieren. Der submitted-Parameter ermöglicht es Ihnen, den enterPressed-Parameter im TextBox.FocusLost-Ereignis zu überschreiben.
Dieser Gegenstand sollte mit einem LocalScript verwendet werden, um wie erwartet im Online-Modus zu arbeiten.
Der Code, der unten gezeigt wird, wird den Client dazu zwingen, den 'Texturen' 5 Sekunden nachdem er ausgewählt ist:
local TextBox = script.Parent
TextBox.Focused:Connect(function()
wait(5)
TextBox:ReleaseFocus()
end)
Bitte beachten Sie, dass das obige Beispiel davon ausgeht, dass es in einem LocalScript ist, als Kind einer TextBox.
Parameter
Rückgaben
Code-Beispiele
local textBox = script.Parent
local function onFocused()
task.wait(5)
textBox:ReleaseFocus()
end
textBox.Focused:Connect(onFocused)
Ereignisse
FocusLost
Feuert, wenn der Client den Fokus verlässt, die TextBox - normalerweise, wenn ein Client klickt / tippt außerhalb der TextBox. Dies feuert auch, wenn ein TextBox-Fokus auf den Benutzer setzt.
Es kann neben TextBox.Focused verwendet werden, um zu verfolgen, wenn ein TextBox den Fokus gewinnt und verliert.
Siehe auch die UserInputService.TextBoxFocused und UserInputService.TextBoxFocusReleased für ähnliche Funktionen, die auf den UserInputService-Dienst basieren.
Dieses Ereignis wird nur ausgeführt, wenn es in einem LocalScript verwendet wird.
Parameter
EinBoolean, der anzeigt, ob der Client Enter gedrückt hat, um den Fokus zu verlieren (wahr), oder nicht (falsch).
Eine InputObject Instanz, die die Art der Eingabe anzeigt, die die Textbox verloren hat.
Code-Beispiele
local gui = script.Parent
local textBox = gui.TextBox
local function focusLost(enterPressed)
if enterPressed then
print("Focus was lost because enter was pressed!")
else
print("Focus was lost without enter being pressed")
end
end
textBox.FocusLost:Connect(focusLost)
local textBox = script.Parent
local function onFocusLost(enterPressed, inputThatCausedFocusLost)
if enterPressed then
print("Player pressed Enter")
else
print("Player pressed", inputThatCausedFocusLost.KeyCode)
end
end
textBox.FocusLost:Connect(onFocusLost)
Focused
Feuert, wenn das TextBox den Fokus gewinnt - normalerweise, wenn ein Client auf eine Textbox klickt/antastet, um den Text-Eintrag zu beginnen. Dies feuert auch ab, wenn ein Text-Feld den Fokus auf den Benutzer setzt.
Es kann neben TextBox.FocusLost verwendet werden, um zu verfolgen, wenn ein TextBox Fokus gewinnt und verliert.
Siehe auch die UserInputService.TextBoxFocused und UserInputService.TextBoxFocusReleased für ähnliche Funktionen, die auf den UserInputService-Dienst basieren.
Dieses Ereignis wird nur ausgeführt, wenn es in einem LocalScript verwendet wird.
Code-Beispiele
local textBox = script.Parent
local function onFocused()
print("Focused")
end
textBox.Focused:Connect(onFocused)