2014-03-31 73 views
1

刪除對象我有無限的箭頭對象...問題與在Lua

local function deleteit(obj) 
    display.remove(obj) 
end 

local function createArrow() 
    local arrow = display.newImageRect("images/right",64,64) 
    arrow.x = centerX 
    arrow.y = centerY 
    transition.to(arrow,{time = 1000, x = 0 , y = 0 , onComplete = deleteit(arrow)}) 
end 

timer.performWithDelay(1000,createArrow,0) 

但是當我運行這個遊戲,我所有的箭頭消失。我知道他們爲什麼消失,但我不知道如何解決這個問題。請幫幫我。

PS。由於內存問題,我無法使用數組。

回答

2

的問題是,當你指定回調的onComplete你實際上是調用deleteit功能和計時器到期之前,因此要刪除的對象。

回調想要引用一個函數,但實際上調用該函數而不是僅僅獲取引用。

試試這個:

local function createArrow() 
    local arrow = display.newImageRect("images/right",64,64) 
    arrow.x = centerX 
    arrow.y = centerY 

    local cb = function() 
    deleit(arrow) 
    end 

    transition.to(arrow, {time=1000, x=0, y=0, onComplete=cb}) 
end 
+0

它的工作原理,由於hades2510 :) – user3480543

+0

我有另外一個問題。你能幫我pleaseeeee http://stackoverflow.com/questions/22761950/issue-with-priority-when-objects-overlap – user3480543