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

4

1 回答 1

2

Gideros 运行的每一帧都会调用一次 Event.ENTER_FRAME。如果你在没有它的情况下运行上面的代码,它只会运行一次代码,球会移动,然后球会停止移动。 一个enterframe使用的例子(见#6)

于 2014-04-19T20:47:14.567 回答