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}) 、このアクションを2回行うにはブーレン変数を作成する必要があります。もう一度それをフェードインする 2 回目は、作成する必要があります。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 に答える