我一直在浏览Corona文档但我没有看到任何改变display.newText对象的字体样式的东西。我知道当你第一次创建对象时,你可以将font参数设置为你喜欢的任何东西。我知道您也可以通过将字体名称添加到构建设置文件来执行自定义字体。但是,我想要做的是在已经声明了display.newText之后更改文本的fontstyle。我正在尝试的是:
local text = display.newText("title", display.contentWidth/2, display.contentHeight/2, native.systemFont, 12)
text.font = "Comic Sans MS"
上面的代码在终端中没有出现任何错误,但字体不会改变。 任何想法如何做到这一点?
答案 0 :(得分:4)
请参阅此内容,了解如何使用自定义字体 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)
答案 1 :(得分:1)
The Text object doesn't support that.。它通常具有贫血的界面(您可以在5个月前看到该页面上的相关投诉)。 See here, as well.
(侧面注意:如果你是一个相当有经验的开发人员,并且还没有深入到项目中,一种替代方案是切换到MOAI,这是免费的,开源的,具有更加重要的灵活API。您可以完全控制文本(MOAITextBox,MOAITextStyle,MOAIFont)以及其他内容。但是,它还 更少用户友好。)< / p>