display.newText()

类型 函数
display.*
返回值 TextObject(文本对象)
修订 版本 2024.3703
关键词 文本,文本对象
另请参阅 使用自定义字体 (指南)
显示对象 (指南)
display.newEmbossedText()
object:setFillColor()

概述

创建一个 文本对象。局部原点位于文本中心,锚点 初始化为此局部原点。

文本会在换行符处或在创建对象时指定 widthheight 时换行。

默认情况下,文本颜色为白色( 1, 1, 1 )。有关更多信息,请参阅 object:setFillColor()

语法

display.newText( options )

此函数接受一个参数 options,它是一个包含以下参数的表

parent (可选)

GroupObject(组对象). 要在其中插入文本对象的显示组。

text (必填)

String(字符串). 要显示的文本。同样,要在创建文本对象后更改其显示文本,请设置 object.text 属性。

x (可选)

Number(数字). 文本对象的 x 坐标。

y (可选)

Number(数字). 文本对象的 y 坐标。

width (可选)

Number(数字). 如果提供,文本将在此宽度处换行。

height (可选)

Number(数字). 如果提供,文本将在此高度处裁剪。将此设置为 0,文本框高度将根据文本量进行调整,但永远不会超过设备的最大纹理高度。

font (必填)

String(字符串), Userdata(用户数据), 或 Constant(常量). 可以是以下之一

fontSize (可选)

Number(数字). 文本大小(以 Corona 内容点为单位)。如果省略此参数或将其设置为 nil0,则将使用系统的默认字体大小。

重要

要在创建文本对象**后**更改其字体大小,请设置 object.size 属性,**而不是** object.fontSize

align (可选)

String(字符串). 当宽度已知时(即包含换行符或提供了 width 参数),此参数指定文本的对齐方式。默认值为 "left"。有效值为 "left""center""right"

语法(旧版)

请注意,文本对齐方式(例如 "center""right")仅适用于**现代**语法(参见上文)。

display.newText( [parent,] text, x, y [, width, height], font [, fontSize] )
parent (可选)

GroupObject(组对象). 要在其中插入文本对象的显示组。

text (必填)

String(字符串). 要显示的文本。同样,要在创建文本对象后更改其显示文本,请设置 object.text 属性。

x (必填)

Number(数字). 文本对象的 x 坐标。

y (必填)

Number(数字). 文本对象的 y 坐标。

width (可选)

Number(数字). 如果提供,文本将在此宽度处换行。

height (可选)

Number(数字). 如果提供,文本将在此高度处裁剪。将此设置为 0,文本框高度将根据文本量进行调整,但永远不会超过设备的最大纹理高度。

font (必填)

String(字符串), Userdata(用户数据), 或 Constant(常量). 可以是以下之一

fontSize (可选)

Number(数字). 文本大小(以 Corona 内容点为单位)。如果省略此参数或将其设置为 nil0,则将使用系统的默认字体大小。

重要

要在创建文本对象**后**更改其字体大小,请设置 object.size 属性,**而不是** object.fontSize

陷阱

示例

单行文本
local myText = display.newText( "Hello World!", 100, 200, native.systemFont, 16 )
myText:setFillColor( 1, 0, 0 )
多行文本
local myText = display.newText( "Hello World!", 30, 100, 240, 300, native.systemFont, 16 )
myText:setFillColor( 0, 0.5, 1 )
创建后更新文本
local myText = display.newText( "hello", 100, 200, native.systemFont, 12 )
myText:setFillColor( 1, 0, 0.5 )

-- Change the displayed text
myText.text = "Hello World!"

-- Increase the font size
myText.size = 16
右对齐多行文本
local options = 
{
    text = "Hello World",     
    x = 100,
    y = 200,
    width = 128,
    font = native.systemFont,   
    fontSize = 18,
    align = "right"  -- Alignment parameter
}

local myText = display.newText( options )
myText:setFillColor( 1, 0, 0 )
顶对齐多行文本
-- Variable for top alignment axis
local topAlignAxis = 200

-- Create first multi-line text object
local options1 = 
{
    text = "The quick brown fox jumped over the lazy dog.",
    x = 90,
    width = 120,
    font = native.systemFont,
    fontSize = 18
}
local myText1 = display.newText( options1 )
myText1:setFillColor( 1, 0, 0 )

-- Set vertical anchor on object to 0 (top)
myText1.anchorY = 0
-- Align object to top alignment axis
myText1.y = topAlignAxis

-- Create second multi-line text object
local options2 = 
{
    text = "The quick brown fox jumped over the lazy dog, then jumped back again.",
    x = 230,
    width = 120,
    font = native.systemFont,
    fontSize = 18
}
local myText2 = display.newText( options2 )
myText2:setFillColor( 0.6, 0.4, 0.8 )

-- Set vertical anchor on object to 0 (top)
myText2.anchorY = 0
-- Align object to top alignment axis
myText2.y = topAlignAxis