类型 函数 库 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