我似乎在这里遇到了一些严重问题 - 我正在尝试显示图像并将其转换为图像,然后在底部闪烁文字。
function Splash()
local item = display.newImage("SplashImage.png")
item.x = display.contentWidth*0.5
item.y = display.contentHeight*0.5
item.alpha=0
transition.to(item, {time =1500, alpha=1, onComplete=Blink})
end
-- blinking text
function Blink()
text = display.newText("This is Blinking Text", 100, 100, "Arial", 22)
text.x = display.contentWidth/2
text.y = display.contentHeight/1.2
text.alpha=0
transition.to(text, {time =1500, alpha=1, onComplete=Blink2})
end
function Blink2()
if (text.alpha > 0) then [--THIS IS THE LINE THAT IS BROKEN APPARENTLY]
transition.to(text, {time=1500, alpha=0})
else
transition.to(text, {time=1500, alpha=1})
end
end
txt_blink = timer.performWithDelay(500, Blink2, 0)
代码中断错误“尝试索引upvalue'文本'(零值)”
我是一个完全的菜鸟,所以要温柔!
答案 0 :(得分:0)
你的问题是,当调用Blink2()时,它会查找一个在那段时间内没有创建的对象“text”。因此,您应首先检查是否存在名为“text”的对象。这是你的新blink2()函数:
function Blink2()
if text ~= nil then
if (text.alpha > 0) then
transition.to(text, {time=1500, alpha=0})
else
transition.to(text, {time=1500, alpha=1})
end
end
end
答案 1 :(得分:0)
试试这个,看看它是否适合你。
--> Pre-declare the text variable
local blinkingText
--> Create the splash function
function Splash()
local item = display.newImage("SplashImage.png")
item.x = display.contentWidth*0.5
item.y = display.contentHeight*0.5
item.alpha=0
transition.to(item, {time =1500, alpha=1, onComplete=createBlinkingText})
end
--> Create the blinking text
function createBlinkingText()
blinkingText = display.newText("This is Blinking Text", 100, 100, "Arial", 22)
blinkingText.x = display.contentWidth/2
blinkingText.y = display.contentHeight/1.2
blinkingText.alpha=0
transition.to(blinkingText, {time =1500, alpha=1, onComplete=startBlinking})
end
--> Start the blinking
function startBlinking()
if (blinkingText.alpha > 0) then
transition.to(blinkingText, {time=1500, alpha=0, onComplete=startBlinking})
else
transition.to(blinkingText, {time=1500, alpha=1, onComplete=startBlinking})
end
end
--> Call the splash function
Splash()
我更改了几个变量名,以便您更好地理解它们。
答案 2 :(得分:0)
该错误表示您的函数Blink2已被要求访问之前未声明为表/对象的变量“text”。放一个:
local text = {}
在顶部,它应该可以解决您的问题。