我有转换问题! 例如: 我有一个对象和一个按钮。当我按下按钮时,我希望此对象淡出,然后当我再次按下按钮时,我希望我的对象淡入。 但我不能淡化我的目标,感觉就像它已经消失了! 对于转换,我使用transition.to,例如:
object = transition.to(object,{time = 500,alpha = 0})
但是当我在这个确切的场景中执行另一个功能淡入时,它根本不想工作(按钮按下,但没有任何事情发生,甚至错误)。
请帮帮我!
答案 0 :(得分:4)
您的代码:
object = transition.to( object, {time=500, alpha=0})
您正在将转移处理程序保存到对象。试试这个:
trans = transition.to( object, {time=500, alpha=0})
然后,如果您想取消转换,可以执行此操作
transition.cancel(trans)
您可以在http://developer.coronalabs.com/node/2407
查看transition.to的使用情况干杯!
答案 1 :(得分: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)
答案 2 :(得分:0)
在第一次按下按钮后写下这个trans = transition.to( object, {time=500, alpha=0})
,所以你必须小鸡制作boolen变量才能使这个动作两次。
第二次再次淡化它你必须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