2014-06-13 30 views
0

我有一個遊戲,有敵人攻擊你,你必須嘗試摧毀它們。我有敵人的頭朝着你做Corona SDK:如何在轉換過程中減慢對象

transition.to(OBJ, { time = 2000}) 

功能。在遊戲中,我希望有一個能夠減緩敵人速度的力量。當transition.to()被調用的時候,我會讓敵人放慢速度。 (例如,與上電unacitvated然後代碼是

transition.to(OBJ, {time = 2000 + slowDown }) 

其中slowDown = 0,但是當用戶按下通電按鈕slowDown = 2000。我唯一的問題是,pressessing的通電按鈕不僅會減慢敵人的那產卵後,是pressessed,而不是當前的敵人的。

有沒有辦法,我可以減緩敵人,而它在過渡辦法?

回答

0

您不能添加新的過渡到一個對象,你需要取消的過渡,然後使用所需的參數應用新的轉換。

local olderTransition 
local function powerUp(event) 
    if olderTransition ~= nil then 
    transition.cancel(olderTransition) 
    end 
    olderTransition = transition.to(OBJ,{time=2000 + Slowdown}) 
end 

這個想法是爲變換使用一個變量,所以你可以取消那個變換,然後應用新的變換。如果你有幾個敵人,你可能需要一個數組來控制你取消的轉換。

可以取消對象的所有轉變,使用對象作爲參數,如果你需要

transition.cancel(OBJ) 

檢查這個問題,看一個例子:Update the target coordinates while transitioning

0

我會用「enterFrame事件」事件把敵人移向你的玩家。然後當玩家拿起力量減少敵人x和y。

祝你好運