0
我试图创建文本显示,但由于某种原因,对象的宽度为零,尽管它具有文本。这里是我的代码:Corona SDK:显示文本对象有文本并且可见,但宽度为零
File1.lua:
local myTextDisplay = display.newText("2", display.contentWidth/2, display.contentHeight/2, native.systemFontBold)
File2.lua:
local myTextDisplay = File1:getTextDisplay() --function in File1.lua that returns myTextDisplay
print("Displayed text: " .. myTextDisplay.text)
if myTextDisplay.isVisible then print("Text display is visible") end
print("Text display width: " .. myTextDisplay.width)
我第一次打开文件2的场景,这工作得很好,并打印:
Displayed text: 2
Text display is visible
Text display width: 10.6599...
但是,当我第二次打开相同的场景时(它不会被回收),最后一个打印语句会导致运行时呃ror:
Displayed text: 2
Text display is visible
Runtime error
C:\....myGame.lua:20: attempt to concatenate field 'width' (a nil value)
这怎么可能?如果显示对象包含文本,它怎么可能有一个零宽度?这是否与我每次打开未经回收的File2场景时获得相同的显示对象有关?任何建议感激!
对象的文本只是一个属性。与宽度相同。你可以确实有一个文本,而没有宽度。问题是为什么宽度为零。 我认为你应该提供更多的代码。特别是你从file1到file2的东西部分。 – Piglet