TextLabel

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

テキストラベルは、スタイル付きのテキストとして Frame のような長方形をレンダリングします。長方形は、テキストの境界を定義、テキストスケーリング ( TextLabel.TextScaled ) およびラッピング ( Class.TextLabel.Text

このクラスには、テキストの表示を制御するプロパティが含まれています。例えば、 TextLabel.FontTextLabel.TextColor3 など。 1つのテキストレーベルによってレンダリングされるすべてのテキストのレンダリングには、同じビジュ

TextService:GetTextSize() は、フォントサイズ、フォント、フレームサイズを指定したテキストラベルにレンダリングするテキストのサイズ (範囲) を取得するために使用できます。

Class.UITextSizeConstraint オブジェクトは、TextLabel.TextScaled を有効にした状態でテキストのサイズを制限できます。テキストのサイズは、そうでないと、ほとんどのユーザーに表示されない可能性があります。

コードサンプル

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)

概要

プロパティ

  • 読み取り専用
    複製されていません
    並列読み取り

    Class.TextLabel.Text が含まれるコピー。TextLabel がレンダリングする内容を含んでいます。

  • 非表示
    複製されていません
    並列読み取り

    テキストをレンダリングするフォントを決める。

  • 並列読み取り

    テキストをレンダリングするフォントを決める。

  • 並列読み取り

    Class.TextLabel のテキストの行間をスケールします。

  • 非表示
    読み取り専用
    複製されていません
    並列読み取り

    Class.TextLabel が GuiBase2d.Localize であるかどうかを設定します。

  • 並列読み取り

    Class.TextLabel が表示できる最大グラフェム数。

  • 並列読み取り
  • 読み取り専用
    複製されていません
    並列読み取り
  • 並列読み取り

    Rich テキストフォーマットを使用しているかどうかを決定します。 TextLabel.Text ストリング。

  • 並列読み取り

    UI 要素によって表示される文字列を決定します。

  • 読み取り専用
    複製されていません
    並列読み取り

    オフセットで UI 要素のテキストのサイズ。

  • 並列読み取り

    このプロパティは、レンダリングされたテキストの色を決定します。

  • 読み取り専用
    複製されていません
    並列読み取り

    UI エレメントのスペースにテキストコンテンツが合わないときに有効になります。

  • 並列読み取り

    UI 要素のテキストが UI 要素を満たすかどうかを決定します。

  • 並列読み取り

    オフセットのテキストの行高を決める。

  • 並列読み取り

    テキストストロークの色を決定します (アウトライン)。

  • 並列読み取り

    テキストストロークの透明度を決めます (アウトライン)。

  • 並列読み取り

    レンダリングされたテキストの透明度を決める。

  • この TextLabel に表示されるテキストのトリミングを制御します。

  • 並列読み取り

    テキストラップを GUI 要素のスペース内に複数行にラップし、余分なテキストをカットします。

  • レンダリングされたテキストの横向きに決定します。

  • レンダリングされたテキストの垂直アラインメントを決定します。

GuiObject から継承した プロパティ
  • 並列読み取り

    この UI 要素が入力を沈めるかどうかを決定します。

  • 並列読み取り

    Class.GuiObject のオリジンポイントを決定し、相対的なサイズに対して Class.GuiObject のオリジンポイントを決定します。

  • 子コンテンツに基づいてサイズ変更が発生するかどうかを決定します。

  • 並列読み取り

    Class.GuiObject の背景色を決定します。

  • 並列読み取り

    Class.GuiObject の背景と境界を透明化する。

  • 並列読み取り

    Class.GuiObject ボーダーの色を決定します。

  • 並列読み取り

    Class.GuiObject ボーダーの位置相対を決定します。

  • 並列読み取り

    Class.GuiObject ボーダーのピクセル幅を決定します。

  • 並列読み取り

    親 GUI 要素の外にある子 GUI 要素がレンダリングするべきかどうかを決定します。

  • 読み取り専用
    複製されていません
    並列読み取り

    プレイヤーのマウスが GuiObject 上で積極的に押されているかどうかを決定します。

  • 並列読み取り

    Class.GuiButton がインタラクト可能かどうかを決定します。GuiStateGuiObject が変更されているかどうか。

  • 並列読み取り

    Class.UIGridStyleLayout と一緒に使用されると、UIGridStyleLayout のソートオーダーを制御します。

  • 並列読み取り

    ゲームパッドのセレクターが下に移動すると、GuiObject が選択されます。

  • 並列読み取り

    ゲームパッドのセレクターが左に移動したときに選択される GuiObject を設定します。

  • 並列読み取り

    ゲームパッドのセレクターが右に移動したときに選択される GuiObject を設定します。

  • 並列読み取り

    ゲームパッドセレクターが上に移動すると、GuiObject が選択されます。

  • 並列読み取り

    Class.GuiObject のピクセルとスカラーポジションを決定します。

  • 並列読み取り

    Class.GuiObject が回転する度数を決定します。

  • 並列読み取り

    ゲームパッドで GUI を選択できるかどうかを決定します。

  • ゲームパッドのデフォルトの装飾をオーバーライドします。

  • 並列読み取り

    ゲームパッド UI の選択によって選択された GuiObjects のオーダー。

  • 並列読み取り

    Class.GuiObject のピクセルとスケーラーサイズを決定します。

  • 親のサイズに対応する SizeGuiObject 軸を設定します。

  • 非表示
    複製されていません
    並列読み取り
    非推奨

    Class.GuiObject.BackgroundTransparency|BackgroundTransparency と TextTransparency のミックスプロパティ。

  • 並列読み取り

    Class.GuiObject とその子孫がレンダリングされるかどうかを決定します。

  • 並列読み取り

    他の Class.GuiObject との相対位置で GuiObject がレンダリングされる順序を決定します。

GuiBase2d から継承した プロパティ

方法

GuiObject から継承した 方法

イベント

GuiObject から継承した イベントGuiBase2d から継承した イベント
  • SelectionChanged(amISelected : bool,previousSelection : GuiObject,newSelection : GuiObject):RBXScriptSignal

    ゲームパッドの選択が移動すると、退出します。または、接続された GuiBase2d または任意の子 GuiObjects 内で変更されます。

プロパティ

ContentText

読み取り専用
複製されていません
並列読み取り

このプロパティは、TextLabel.Text が、TextLabel によってレンダリングされる内容をコピーします。これは、リッチテキストに使用されるスタイルタグを削除するのに便利です。

Class.TextLabel.RichText が有効になると、TextLabel.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>
リッチテキストテキストコンテンツテキスト
非表示
複製されていません
並列読み取り

フォントプロパティは、UI 要素がテキストをレンダリングするために使用できるいくつかのフォントのうちの 1 つを選択します。フォントの重量やスタイルのプロパティはありません。

「レガシー」フォントを除き、各フォントは、TextLabel.TextSize プロパティと同じ行高でテキストをレンダリングします。「コード」フォントは、すべてのキャラクターに 1:2 の完全な幅と高さ比率を持つユニークなプロパティを持つ唯一のモノスペースフォ

このプロパティは、TextLabel.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 プロパティは、Font プロパティと似ていますが、Font 枚数に存在しないフォントを設定できます。

このプロパティは、TextLabel.Font プロパティと同期されています。FontFace を設定すると、フォントは対応する枚数の値に設定されます。また、一致がない場合は Enum.Font.Unknown に設定されます。

LineHeight

並列読み取り

クラス テキストラベルのサイズ の 2 倍の行の高さを制御します。これは、フォントのスクエアサイズの複数である TextLabel のテキストの行の間のスペースをスケールすることで、行の高さをコントロールします。デフォルトは 1.0 から 3.0 です。

LocalizedText

非表示
読み取り専用
複製されていません
並列読み取り

このプロパティは、TextLabelGuiBase2d.Localize であるかどうかを設定します。

MaxVisibleGraphemes

並列読み取り

このプロパティは、TextLabel に表示される最大グラフェム (またはテキストのユニット) の数を制御します。主に、「タイプライターエフェクト」を作成するための簡単な方法として提供されます。

プロパティを変更すると、表示可能なグラフェムの位置やサイズは変更されません - レイアウトは、すべてのグラフェムが表示されているときのように計算されます。

プロパティを -1 に設定すると、制限が無効になり、TextLabel.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

並列読み取り

このプロパティは、TextLabel がリッチテキストフォーマットを使用して TextLabel.Text 文字列をレンダリングするかどうかを決定します。リッチテキストは、シンプルなマークアップタグを使用して、文字列の強調、イタリック、色などをスタイルに合わせて設定します。

リッチテキストを使用するには、TextLabel.Text 文字列にフォーマットタグを含めるだけです。

Text

並列読み取り

テキストプロパティは、UI 要素によってレンダリングされるコンテンツを決定します。ストリングのビジュアルプロ

絵文字 (たとえば、 😃) や他のシンボルをレンダリングすることができます。これらの特殊なシンボルは TextLabel.TextColor3 プロパティには影響されません。これらは Script および LocalScript オブジェクト、およびプロパティウィンドウ

このプロパティには、新行文字が含まれる場合がありますが、プロパティウィンドウ内で新行文字を入力することはできません。同様に、このプロパティにはタブ文字が含まれる場合がありますが、代わりにスペースとして表示されます。

コードサンプル

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

読み取り専用
複製されていません
並列読み取り

[テキストの境界] プロパティは、オフセットの読み取りで実際のテキストのサイズを反映します。つまり、テキストをレンダリングしたオクジェクトにフィットするために、テキストを正方形に拡大/縮小する必要があります。

Class.TextService:GetTextSize() を使用す文字列と、TextLabel.FontTextLabel.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 要素によってレンダリングされるすべてのテキストの色を決定します。このプロパティと TextLabel.FontTextLabel.TextSize および 1>Class.TextLabel.Transparency</

プレイヤーに簡単に読み取れるテキストが重要です! 色を選択するときは、TextLabel.BackgroundColor3 の GUI 要素の背景とコントラストを保つために、少し-Saturationの色を選択してください。要素の透明なバックグラウンドの場

コードサンプル

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

読み取り専用
複製されていません
並列読み取り

TextFits は、TextLabel.Text コンテンツが GuiBase2d.AbsoluteSize に合わないときに、TextLabel.TextWrapped が偽であるか、

コードサンプル

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

TextScaled

並列読み取り

TextScaled を使用する代わりに、AutomaticSize を使用することをお勧めします。これは、最高のビジュアル結果を可能にする新しいメソッドで、UI のサイズをダイナミックにサイズ変更できます。

TextScaled プロパティは、テキストが全体の UI 要素のスペースを満たすようにスケールされているかどうかを決定します。これを有効にすると、 TextLabel.TextSize は無視され、 TextLabel.TextWrapped は自動的に有効になります。このプロパティは、Class.Billboard

このプロパティを画面スペース UI に使用する場合、UITextSizeConstraint を使用して、可能なテキストサイズの範囲を制限することが望ましいかもしれません。

TextScaled と自動サイズ

テキストスケールを使用することを避け、代わりに UI を調整することを開発者は推奨されます。以下は 2つのプロパティ間の主要な違いです:

  • TextScaled は、UI に対応するためにコンテンツ (テキスト) を拡大します。無駄な拡大により、一部のテキストが小さすぎて読み取りにくくなる可能性があります。
  • AutoSize は、コンテンツに対応するために UI をサイズ変更します。

AutomaticSize を使用すると、UI を拡大/縮小してコンテンツを満たすために、フォントサイズを一貫して保つことができます。For more information on how to use automatic sizing, see the UI Automatic Size article.

TextScaled と AutomaticSize を同じ UI オブジェクトに適用しないことをお勧めします。両方のプロパティを適用すると、

  • 自動サイズは、GuiObject が使用できる最大スペースの量を決定します (この場合、テキスト)
  • TextScaled は、AutomaticSize によって決定された利用可能なスペースを使用して、フォントサイズを自動サイズに拡大し、最大フォントサイズ (100) に到達するためにフォントサイズを変更します。サイズ制限がない場合
  • 結果は以下になります:テキストは 100 文字サイズに拡大され、UI オブジェクトはそのテキストに対応するように拡張されます

両方のオートサイズとテキストスケールを同時に使用すると、オートサイズがオフのときよりも大きなスケールオフの差が発生する可能性があります。

コードサンプル

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

並列読み取り

TextSize プロパティは、1つのレンダリングテキストの行のオフセットの高さを決定します。ユニットはオフセットであり、ポイントではありません (これは、ほとんどのドキュメントエディタプログラムで使用されている) 。「レガシー」フォントの行高は異なりますが、このプロパティは正確に一致しません。

このプロパティと TextLabel.TextColor3TextLabel.TextTransparencyTextLabel.TextStrokeColor3 および 1> Class.TextLabel.TextStrokeTransparency1> は、テキストがレンダリングされる方法に影響を与えます。

このプロパティは TextLabel.FontSize ですが、Enum.FontSize は数値であり、枚数ではありません。内部的に、Roblox は各サイズの各フォントのプレレンダリングされたキャラクター画像を複数のセットによって選択で

コードサンプル

"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 プロパティは、描画されたテキストのストローク、またはアウトラインの色を設定します。このプロパティと TextLabel.TextStrokeTransparency は、テキストストロークのビジュアルプロパティを決定します。

テキストストロークは、通常のテキスト以前にレンダリングされ、+/-1ピクセルオフセットの各方向における 4つのレンダリングのみがテキストストロークを独立して同じようにレンダリングします。テキストストロークレンダリングは、TextLabel.TextColor3 およびTextLabel.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 プロパティは、描画されたテキストのストローク、またはアウトラインの透明度を設定します。このプロパティと TextLabel.TextStrokeColor3 は、テキストストロークのビジュアルプロパティを決定します。

テキストストロークは、通常のテキストと同じく、1ピクセルオフセットの +/- 1 方向の 4 個のレンダ

コードサンプル

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 要素によってレンダリングされるすべてのテキストの透明度を決定します。このプロパティに加えて、 TextLabel.FontTextLabel.TextSize および TextLabel.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

並列読み取り

この TextLabel に表示されるテキストのトリミングを制御します。

TextWrapped

並列読み取り

有効にすると、このプロパティは GUI 要素のスペース内の複数の行にテキストをレンダリングし、TextLabel.TextBounds は UI 要素の GuiBase2d.AbsoluteSize を超えることはありません。

これは、長いテキストの行を複数の行に分割することで達成されます。行の分割は白紙を好むことがあります。長い未完成のワードがエレメントの幅を超えると、そのワードは複数の行に分割されます。

次の行の空白が、テキストの垂直高度 (TextLabel.TextBounds の Y コンポーネント) をエレメントの垂直高度 (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

並列読み取り

TextXAlignment は、UI 要素のスペース内のテキストの横向きに準拠します (X 軸) 。これは、 CSS テキストアルインコンプリートプロパティと同様に機能します (左、右、中央の値がありません)。For Left と Right の場合、テキストは左/右のテキスト境界に触れるようになります (センターではな

このプロパティは TextLabel.TextYAlignment と一緒に使用されて、両方の軸にテキストの配置を完全に決定します。このプロパティは TextLabel.TextBoundsTextLabel.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 軸) は、UI 要素のスペース内のテキストのレンダリングを決定します。トップとボトムの場合、テキストは上/下のテキストの境界に触れるようにレンダリングされます。中央の場合、テキストは上/下のテキストの境界と同じスペースを持つようにレンダリングされます。

このプロパティは TextLabel.TextXAlignment と一緒に使用されて、両方の軸にテキストの配置を完全に決定します。このプロパティは TextLabel.TextBoundsTextLabel.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

方法

イベント