TextButton

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

텍스트 버튼은 추가 기능을 가진 TextLabel 와 관련하여 렌더링에 대해 GuiButton 과 동일합니다. 그것은 TextLabel 가 정의하는 동일한 텍스트 렌더링 속성을 정의합니다.

텍스트 렌더링을 비활성화하려면 TextButton.TextTransparency 를 1로 설정하십시오. 이렇게 하면 버튼으로 사용할 수 있는 평범한 직사각형을 남깁니다.

코드 샘플

Click Counter

-- Place this code in a LocalScript in a TextButton
local textButton = script.Parent
local counter = 0
textButton.Text = "Click me!"
local function onActivated()
counter = counter + 1
textButton.Text = "Clicks: " .. counter
end
textButton.Activated:Connect(onActivated)

요약

속성

속성GuiButton에서 상속되었습니다
  • 병렬 읽기

    마우스가 버튼을 자동으로 변경할 때 버튼의 색이 변경되는지 여부를 결정합니다.

  • 병렬 읽기

    GUI 요소가 표시되는 동안 마우스가 잠긴 상태가 아니라면, 마우스가 아래로 스크롤되지 않고 있는 경우에만 마우스가 잠긴 상태로 유지됩니다.If true while the GUI element is visible, the mouse will not be locked unless the right mouse button is down.

  • 병렬 읽기

    개체가 선택되었는지 여부를 나타내는 부울 속성입니다.

  • 병렬 읽기

    미리 정의된 스타일 목록에 따라 GuiButton의 스타일을 설정합니다.

속성GuiObject에서 상속되었습니다속성GuiBase2d에서 상속되었습니다

메서드

메서드GuiObject에서 상속되었습니다

이벤트

이벤트GuiButton에서 상속되었습니다이벤트GuiObject에서 상속되었습니다이벤트GuiBase2d에서 상속되었습니다

속성

ContentText

읽기 전용
복제되지 않음
병렬 읽기

이 속성은 TextButton.Text 의 복사본을 제공하며, 이는 TextButton 에 의해 렌더링되는 정확한 내용을 포함합니다. 이 스타일 태그는 풍부한 텍스트에 대한 스타일 태그를 제거하는 데 유용합니다.

예시

Class.TextButton.RichText 가 활성화되면 TextButton.ContentText 속성이 플레이어에게 표시되는 텍스트를 표시합니다.


<tbody>
<tr>
<td>없음</td>
<td>\<b>안녕하세요,\<br/> 세계!\</b></td>
<td>\<b>안녕하세요,\<br/> 세계!\</b></td>
</tr>
<tr>
<td>참</td>
<td>\<b>안녕하세요,\<br/> 세계!\</b></td>
<td>안녕하세요, 세계!</td>
</tr>
</tbody>
부분 자유 텍스트텍스트콘텐츠 텍스트
숨김
복제되지 않음
병렬 읽기

글꼴 속성은 사용자 요소에 텍스트를 렌더링할 글꼴 중 하나를 선택합니다. 일부 글꼴에는 베이직, 이탈리아어 및/또는 라이트 변형이 있습니다(글꼴 무게 또는 글꼴 스타일 속성이 없음).

“전통” 서체를 제외하고 모든 서체는 TextButton.TextSize 속성과 같은 줄 높이로 텍스트를 렌더링합니다. TextButton.TextSize 서체는 단일 모노 스페이스 서체입니다. 각 캐릭터의 정확한 너비 및 높이 비율을

이 속성은 TextButton.FontFace 속성과 동기화됩니다. 글꼴을 설정할 때 글꼴은 Font.fromEnum(value)로 설정됩니다.

코드 샘플

Cycle Font

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
Show All Fonts

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

병렬 읽기

FontFace 속성은 글꼴 열거형에 없는 글꼴을 설정하는 데 유용하지만, 글꼴이 없는 글꼴을 설정하는 데는 글꼴 속성과 비슷합니다.

이 속성은 TextButton.Font 속성과 동기화됩니다. 폰트를 설정할 때 폰트는 해당 열거형 값에 설정되거나 Enum.Font.Unknown 이 경우 매치가 없는 경우 설정됩니다.

LineHeight

병렬 읽기

글꼴의 정사각형 크기와 텍스트 줄 사이의 간격을 늘리거나 줄 간의 간격을 늘리면 라인의 높이를 조정합니다. 유효한 값은 1.0에서 3.0 사이입니다. 기본값은 1.0입니다.

LocalizedText

숨김
읽기 전용
복제되지 않음
병렬 읽기

이 속성은 TextButtonGuiBase2d.Localize 여야 하는지 설정합니다.

MaxVisibleGraphemes

병렬 읽기

이 속성은 TextButton 에 표시되는 최대 글래프엠 수(또는 텍스트 단위)를 제어합니다. 주로 문자가 하나씩 나타나는 "입력기 효과"를 만드는 쉬운 방법으로 제공됩니다.

속성을 변경하면 표시 가능한 그래픽의 위치나 크기가 변경되지 않습니다. 레이아웃은 모든 그래픽이 표시되는 것처럼 계산됩니다.

속성을 -1로 설정하면 제한이 해제되고 TextButton.Text의 전체가 표시됩니다.

코드 샘플

Typewriter Effect with MaxVisibleGraphemes

local TweenService = game:GetService("TweenService")
local textObject = script.Parent
local tweenInfo = TweenInfo.new(
4, -- it takes 4 seconds for the effect to complete
Enum.EasingStyle.Sine, -- typing starts fast and slows near the end
Enum.EasingDirection.Out
)
local tween = TweenService:Create(textObject, tweenInfo, {
-- Final value should be the total grapheme count
MaxVisibleGraphemes = utf8.len(textObject.ContentText),
})
tween:Play()
tween.Completed:Wait()
-- Reset the value so it can be tweened again
textObject.MaxVisibleGraphemes = -1

OpenTypeFeatures

병렬 읽기

OpenTypeFeaturesError

읽기 전용
복제되지 않음
병렬 읽기

RichText

병렬 읽기

이 속성은 TextButton 이 리치 텍스트 서식을 사용하여 문자열을 렌더링하는지 여부를 결정합니다. 리치 텍스트는 간단한 마크업 태그를 사용하여 문자열의 서식을 강조, 범례, 특정 색 등을 지정합니다.

풍부한 텍스트를 사용하려면 단순히 TextButton.Text 문자열에 서식 태그를 포함하십시오.

Text

병렬 읽기

텍스트 속성은 UI 요소에서 표시되는 콘텐츠를 결정합니다. 시각적 속성은 Class.TextButton

이 특수 기호(예: 😃) 및 기타 기호를 렌더링할 수 있습니다. 이 특수 기호는 TextButton.TextColor3 속성에 영향을 받지 않습니다. 이 기호는 ScriptLocalScript 개체, 속성 창 내의 필드 모두에 붙여

이 속성에는 새로운 줄 문자가 포함될 수 있지만, 속성 창에서 새로운 줄 문자를 입력할 수는 없습니다. 마찬가지로 이 속성에는 탭 문자가 포함될 수 있지만 대신 공백으로 표시됩니다.

코드 샘플

Fading Banner

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
"Kaboom!" Text

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
Show All Fonts

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
Long Text Wrapping

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
Emoji in Text

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

읽기 전용
복제되지 않음
병렬 읽기

읽기 전용 속성 TextBounds는 오프셋에 따라 렌더링된 텍스트의 실제 크기를 반영합니다. 즉, 텍스트를 직사각형에 맞추려고 시도하면 이 속성이 렌더링된 텍스트의 최소 크기를 반영합니다.

Class.TextService:GetTextSize()를 사용하면 문자열에 주어진 텍스트 바운드에 텍스트 크기를 예측할 수 있습니다, TextButton.Font , TextButton.TextSize 및 프레임 크기.

코드 샘플

Dynamic TextBox Size

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

병렬 읽기

이 속성은 GUI 요소에서 렌더링하는 모든 텍스트의 색을 결정합니다. 이 속성과 TextButton.Font , TextButton.TextSize 및 1> Class.TextButton.Transparency1> 은

플레이어가 쉽게 읽을 수 있도록 텍스트를 선택하십시오! 흰색, 회색 또는 검은과 같은 적은 채우기 혼합 색상를 선택하세요. 텍스트의 색상과 색상의 대비를 유지하려면 색상의 배경에 대해

코드 샘플

Vowel Detector

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)
TextBox Secret Word

-- 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)
Countdown Text

-- 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
Game State Text

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

병렬 읽기

TextFits

읽기 전용
복제되지 않음
병렬 읽기

텍스트 버튼의 텍스트가 크기에 맞는지 여부를 나타내는 부울 표현입니다.

TextScaled

병렬 읽기

TextScaled 대신 사용하는 것이 좋습니다 AutomaticSize, 새로운 메서드는 가능한 최상의 시각적 결과를 제공하는 동적 크기 조정 기능을 사용하는 것이 좋습니다.

텍스트 크기를 조정하여 전체 UI 요소의 공간을 채우는지 여부를 결정합니다. 이 속성이 활성화되면 TextButton.TextSize 가 무시되고 TextButton.TextWrapped 가 자동으로 활성화됩니다. 이 속성은 BillboardGuis 내의

이 속성이 화면 공간 사용자 인터페이스에 사용되면 UITextSizeConstraint 를 사용하여 가능한 텍스트 크기의 범위를 제한하는 것이 좋습니다.

텍스트 크기 조정 및 자동 크기 조정

텍스트 크기 조정 기능을 사용하지 마십시오 대신 개발자는 자동 크기 조정 속성을 활용할 수 있습니다. 다음은 두 속성 간의 주요 차이입니다.

  • TextScaled 콘텐츠(텍스트)를 확장하여 UI에 적응합니다. 신중하게 고려하지 않으면 콘텐츠가 너무 작게 확장되면 읽기 어려울 수 있습니다.
  • AutomaticSize는 콘텐츠를 수용하기 위해 UI를 자동으로 조정합니다.

AutomaticSize를 사용하면 글꼴 크기를 유지하면서 콘텐츠(텍스트)를 수용할 수 있는 UI를 조정할 수 있습니다. 자세한 내용은 글꼴 자동 크기 조정 기능 사용 을 참조하십시오.

텍스트 크기 조정 및 자동 크기 조정을 모두 동일한 UI 개체에 적용하지 마십시오. 두 속성을 모두 적용하면:

  • 자동 크기는 GuiObject 가 사용할 수 있는 최대 공간 크기를 결정합니다(이 경우 텍스트)
  • TextScaled은 자동 크기 조정으로 결정된 사용 가능한 공간을 사용하여 글꼴 크기를 자동 크기에 맞게 조정하므로 글꼴 크기 제한이 없는 경우 최대 글꼴 크기(100)에 맞게 글꼴 크기를 조정합니다.
  • 결과는 다음과 같습니다. 텍스트는 100 글꼴 크기로 확대되고 인터페이스 개체는 텍스트에 맞게 확장됩니다.The end result will be: text goes to 100 font size and the UI object will expand to fit that text

AutomaticSize와 TextScaled을 동시에 사용하면 자동 크기 조정이 끄기발생하는 차이보다 훨씬 큰 크기 조정 차이가 발생할 수 있습니다.

코드 샘플

Long Text Wrapping

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

병렬 읽기

텍스트 크기 속성은 렌더링된 텍스트의 한 줄의 높이를 결정합니다. 단위는 오프셋이며 포인트가 아닙니다(대부분의 문서 편집 프로그램에서 사용됩니다). "전통" 글꼴은 이 속성을 지원하지 않습니다.

코드 샘플

"Kaboom!" Text

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

병렬 읽기

TextStrokeColor3 속성은 렌더링된 텍스트의 윤곽이나 색을 설정합니다. 이 속성과 TextButton.TextStrokeTransparency 는 텍스트 윤곽의 시각적 속성을 결정합니다.

텍스트 벡터는 일반 텍스트보다 먼저 렌더링되며, 각 방향의 +/- 1개의 픽셀 오프셋에 대해 4개의 렌더링된 텍스트를 나타냅니다. 텍스트 벡터 렌더링은 독립적으로 및 동일하게 TextButton.TextColor3 및 Class.TextButton.TextTransparency

코드 샘플

Text Highlight Oscillation

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

병렬 읽기

TextStrokeTransparency 속성은 렌더링된 텍스트의 윤곽이나 텍스트의 투명도를 설정합니다. 이 속성과 TextButton.TextStrokeColor3 는 텍스트 윤곽의 시각적 속성을 결정합니다.

텍스트 스트로크는 일반 텍스트 렌더링보다 4번 렌더링되며 각 방향의 +/- 1

코드 샘플

Text Highlight Oscillation

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

병렬 읽기

텍스트 색상 3 속성은 UI 요소에서 렌더링된 모든 텍스트의 투명도를 결정합니다. 이 속성과 함께 TextButton.Font , TextButton.TextSizeTextButton.TextColor3 이 시각적 속성을

숫자 for-루프를 사용하여 텍스트를 슬라이스하면 화면에 표시되는 텍스트에 플레이어의 관심을 끌 수 있습니다.


-- Count backwards from 1 to 0, decrementing by 0.1
for i = 1, 0, -0.1 do
textLabel.TextTransparency = i
task.wait(0.1)
end

코드 샘플

Fading Banner

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
"Kaboom!" Text

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

병렬 읽기

이 텍스트 버튼에 표시되는 텍스트의 잘림을 제어합니다.

TextWrapped

병렬 읽기

활성화되면 이 속성은 GUI 요소의 공간에 텍스트를 여러 줄로 렌더링하므로 TextButton.TextBounds 는 UI 요소의 크기 GuiBase2d.AbsoluteSize 를 초과하지 않습니다.

이 작업은 길은 텍스트 줄을 여러 줄로 나누어 달성합니다. 줄 분리는 백스페이스를 선호하지만 길지 않은 단어가 요소 너비를 초과하면 줄이 여러 줄로 나뉩니다.

Class.TextButton.TextSeconds 내 GuiBase2d.AbsoluteSize 텍스트의 가로 높이가 요소의 가로 높이를 초과하면 해당 라인이 표시되지 않습니다.

코드 샘플

Long Text Wrapping

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

병렬 읽기

텍스트 정렬은 텍스트 렌더링 요소의 공간에 대한 가로 정렬(X축)을 결정합니다. 이 속성은 왼쪽, 오른쪽 및 센터 값(정렬 옵션 없음)에 대해 동일하게 작동합니다. 왼쪽 및 오른쪽의 경우 텍스트가 UI 요소 직사각형의

이 속성은 TextButton.TextYAlignment와 함께 사용되어 두 축 모두에 대한 텍스트 정렬을 완전히 결정합니다. 이 속성은 읽기 전용 속성 TextButton.TextBoundsTextButton.TextFits에는 영향을 주지 않습니다.

코드 샘플

Text Alignment

-- 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

병렬 읽기

텍스트 맞춤 정렬은 텍스트 렌더링의 가로 정렬(Y축)을 결정합니다. 위와 아래의 경우 텍스트 경계가 단지 텍스트 요소 영역의 가장자리에 도달하도록 합니다. 센터의 경우 위/아래 텍스트 경계가 모두 텍스트 요소 영

이 속성은 TextButton.TextXAlignment와 함께 사용되어 두 축 모두에 대한 텍스트 정렬을 완전히 결정합니다. 이 속성은 읽기 전용 속성 TextButton.TextBoundsTextButton.TextFits에는 영향을 주지 않습니다.

코드 샘플

Text Alignment

-- 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

메서드

이벤트