类型 函数 库 display.* 返回值 TextObject(文本对象) 修订 版本 2024.3703 关键词 文本,文本对象 另请参阅 使用自定义字体 (指南) 显示对象 (指南) display.newEmbossedText() object:setFillColor()
创建一个 文本对象。局部原点位于文本中心,锚点 初始化为此局部原点。
文本会在换行符处或在创建对象时指定 width 和 height 时换行。
默认情况下,文本颜色为白色( 1, 1, 1 )
display.newText( options )
此函数接受一个参数 options,它是一个包含以下参数的表
GroupObject(组对象). 要在其中插入文本对象的显示组。
String(字符串). 要显示的文本。同样,要在创建文本对象后更改其显示文本,请设置 object.text 属性。
Number(数字). 文本对象的 x 坐标。
Number(数字). 文本对象的 y 坐标。
Number(数字). 如果提供,文本将在此宽度处换行。
Number(数字). 如果提供,文本将在此高度处裁剪。将此设置为 0,文本框高度将根据文本量进行调整,但永远不会超过设备的最大纹理高度。
String(字符串), Userdata(用户数据), 或 Constant(常量). 可以是以下之一
main.lua 相同目录)中的字体文件名。Number(数字). 文本大小(以 Corona 内容点为单位)。如果省略此参数或将其设置为 nil 或 0,则将使用系统的默认字体大小。
要在创建文本对象**后**更改其字体大小,请设置 object.size 属性,**而不是** object.fontSize。
String(字符串). 当宽度已知时(即包含换行符或提供了 width 参数),此参数指定文本的对齐方式。默认值为 "left"。有效值为 "left"、"center" 或 "right"。
请注意,文本对齐方式(例如 "center" 或 "right")仅适用于**现代**语法(参见上文)。
display.newText( [parent,] text, x, y [, width, height], font [, fontSize] )
GroupObject(组对象). 要在其中插入文本对象的显示组。
String(字符串). 要显示的文本。同样,要在创建文本对象后更改其显示文本,请设置 object.text 属性。
Number(数字). 文本对象的 x 坐标。
Number(数字). 文本对象的 y 坐标。
Number(数字). 如果提供,文本将在此宽度处换行。
Number(数字). 如果提供,文本将在此高度处裁剪。将此设置为 0,文本框高度将根据文本量进行调整,但永远不会超过设备的最大纹理高度。
String(字符串), Userdata(用户数据), 或 Constant(常量). 可以是以下之一
main.lua 相同目录)中的字体文件名。Number(数字). 文本大小(以 Corona 内容点为单位)。如果省略此参数或将其设置为 nil 或 0,则将使用系统的默认字体大小。
要在创建文本对象**后**更改其字体大小,请设置 object.size 属性,**而不是** object.fontSize。
newText() 对象在创建时使用蒙版。嵌套蒙版限制为 3,因此在将蒙版对象插入作为容器的其他蒙版对象(包括 display.newContainer、widget.newScrollView、widget.newTableView 或蒙版的 显示组)时必须小心。其他利用蒙版的显示对象包括 display.newEmbossedText 和任何其他 蒙版 显示对象。如果超过蒙版嵌套限制,文本可能会显示为纯白色块。例如,一个文本对象(一个蒙版)在一个容器(一个蒙版)内,而该容器又位于另一个容器(一个蒙版)内,则将达到但不超过 3 个嵌套蒙版的限制。
渲染多行文本框时,请注意最终显示对象不得超过任何目标设备的最大纹理大小限制。如果需要渲染具有大量行的文本对象,则应创建多个文本对象并将它们一个接一个地放置。
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