1

我一直在查看 Corona 文档,但没有看到任何可以更改 display.newText 对象的字体样式的内容。我知道当你第一次创建对象时,你可以将字体参数设置为你喜欢的任何值。我知道您还可以通过将字体名称添加到构建设置文件来进行自定义字体。但是,我想要做的是在 display.newText 已经声明之后更改文本的字体样式。我正在尝试的是:

local text = display.newText("title", display.contentWidth/2, display.contentHeight/2, native.systemFont, 12)

text.font = "Comic Sans MS"

上面的代码在终端中没有给出任何错误,但字体没有改变。任何想法如何做到这一点?

4

2 回答 2

3

请参阅这篇关于如何使用自定义字体 http://www.coronalabs.com/blog/2011/07/13/custom-fonts-corona/

编辑

行。我没有完全阅读你的问题。您想即时更改字体。我想唯一的方法是删除显示对象并用新字体重新插入它。

就像是

local text = display.newText("title", display.contentWidth/2, display.contentHeight/2, native.systemFont, 12)


--After some time
local txt = text.text
local size = text.size
local left = text.contentBounds.xMin
local top  = text.contentBounds.yMin 

text:removeSelf()
text = display.newText(txt, left, top, "Comic Sans MS",size)
于 2012-06-18T05:10:26.223 回答
0

Text 对象不支持这一点。. 它通常有一个贫乏的界面(您可以在该页面上看到 5 个月前的相关投诉)。也见这里。

(旁注:如果您是一位相当有经验的开发人员并且还没有深入到某个项目中,那么另一种选择是切换到 MOAI,它是免费的、开源的,具有更重要的、灵活的 API。您会完全控制文本(MOAITextBoxMOAITextStyleMOAIFont)等等。但是,它也不太用户友好。)

于 2012-06-15T23:13:02.983 回答