2012-08-22 30 views
0

我有一個轉換問題!例如: 我有一個對象和一個按鈕。當我按下按鈕時,我希望這個對象淡出,然後當我再次按下按鈕時,我希望我的對象淡入。但是我不能淡入我的對象,感覺它已經不在了! 對於過渡我使用transition.to,用於離:轉換對象兩次? (Corona SDK)

對象= transition.to(對象,{時間= 500,α-= 0})

但是當我在此執行另一個功能確切的場景淡入,它只是不想工作(按鈕正在按下,但沒有發生,甚至錯誤)。

請幫幫我!

+0

發佈您的代碼...特別是,後期的如何轉換回在 – speeder

回答

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) 
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

乾杯!

+0

想通了代碼!謝謝! – barmyman

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