2014-04-15 21 views
0
local W = application:getLogicalWidth() 
local H = application:getLogicalHeight() 
local xD, yD, speed = 1, 1, 10 
local img = newImage("myImage2.png", 0, 0) 
local wd, ht = img:getWidth(), img:getHeight() 

function onEnterFrame(event) 
    local xP, yP = img:getPosition() 
    xP = xP + xD*speed yP = yP + yD*speed 

    if xP >= W-wd or xP == 0 then 
     xD = −xD 
    end 

    if yP >= H-ht or yP == 0 then 
     yD = −yD 
    end 

    img:setPosition(xP, yP) 
end 

img:addEventListener(Event.ENTER_FRAME, onEnterFrame) 

我上面有一段代碼,我的問題是爲什麼Event.ENTER_FRAME在這裏?所有這些代碼都是通過屏幕移動球,我們不改變任何框架,那麼爲什麼我需要這個?如果我沒有使用Event.ENTER_FRAME,它有什麼區別?爲什麼我需要在Gideros中使用Event.ENTER_FRAME?

回答

1

對Gideros運行的每一幀都調用一次Event.ENTER_FRAME。如果你沒有它就運行上面的代碼,它只會運行代碼一次,球會移動,然後球停止移動。 a example of enterframe usage (see #6)

+0

謝謝,所以如果我期待一些定期的議案,我需要一個框架,對吧? –

+1

我假設你的意思是線性運動。幾乎所有的運動都需要一個框架,所以是的。 – DivideByZero

相關問題