0

我有过渡的问题!例如:我有一个对象和一个按钮。我希望这个对象在我按下按钮时淡出,然后当我再次按下按钮时,我希望我的对象淡入。但我不能淡入我的对象,感觉就像它消失了一样!对于过渡,我使用 transition.to,例如:

object = transition.to(object, {time=500, alpha=0})

但是当我在这个确切的场景中执行另一个功能以淡入时,它根本不想工作(按钮正在按下,但什么也没发生,甚至是错误)。

请帮帮我!

4

3 回答 3

4

你的代码:

    object = transition.to( object, {time=500, alpha=0})

您正在将转换处理程序保存到对象。尝试这个:

    trans = transition.to( object, {time=500, alpha=0})

然后,如果您想取消转换,您可以执行此操作

    transition.cancel(trans)

你可以在这里查看transition.to的用法http://developer.coronalabs.com/node/2407

干杯!

于 2012-08-23T18:12:19.063 回答
1

试试这个我不知道正确的代码,但它运作良好:

local myRectangle = display.newRect(100, 100, 150, 50)
myRectangle.strokeWidth = 3
myRectangle:setFillColor(140, 140, 140)
myRectangle:setStrokeColor(180, 180, 180)

local button = display.newRect(100, 200, 50, 50)
button.strokeWidth = 3
button:setFillColor(140, 140, 140)
button:setStrokeColor(180, 180, 180)

local buttonfun=function(event)
if event.phase=="ended" then
print("fade")
if myRectangle.alpha ==1.0 then
transition.to( myRectangle, { delay=1, time=1000, alpha=1.0, alpha=0.0} )
myRectangle.alpha=0.0
print("alpha"..myRectangle.alpha)
else
transition.to( myRectangle, { delay=1, time=1000, alpha=0.0, alpha=1.0} )
myRectangle.alpha=1.0
print(myRectangle.alpha)
end
end
return true
end
button:addEventListener("touch", buttonfun)
于 2012-08-22T12:36:27.080 回答
0

trans = transition.to( object, {time=500, alpha=0}) 在您第一次按下按钮时写下此内容后 ,您必须让小鸡制作布尔变量以两次执行此操作。第二次再次淡入你必须使alpha=1

例如:

local  trans 
function  Listner  (event)
transition.cancel(trans)
trans = nil 
end

function  onPress(event)
if(flage== true) then 

flage = false  
trans = transition.to( object, {time=500, alpha=0 , onComplete =Listner  })

else
flage = true
trans = transition.to( object, {time=500, alpha=1 , onComplete =Listner  })

end
于 2013-01-03T07:07:43.647 回答