为什么我需要在Gideros中使用Event.ENTER_FRAME?
问题描述:
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?
答
对Gideros运行的每一帧都调用一次Event.ENTER_FRAME。如果你没有它就运行上面的代码,它只会运行代码一次,球会移动,然后球停止移动。 a example of enterframe usage (see #6)
谢谢,所以如果我期待一些定期的议案,我需要一个框架,对吧? –
我假设你的意思是线性运动。几乎所有的运动都需要一个框架,所以是的。 – DivideByZero