如何创建燃料条

我想建一个燃料条(从满到空)。当用户触摸屏幕时,燃料条会减少。 这是我的代码:

lifeBar = display.newImage("fuel_bar1.png") lifeBar.anchorX=0 lifeBar.anchorY=0.6 lifeBar.x = fuel_title.x +114+13.5 lifeBar.y = 37 screenGroup:insert(lifeBar)

然后,我使用一个叫做FuelConsumption()的函数,每次变量"pressed"等于"true"时,就减少燃料箱。当Pressed==true时,这意味着用户正在触摸屏幕:

function FuelConsumption()

if lives > 0 and pressed==true then
    lives = lives - 1
    lifeBar.width=lifeBar.width-1
    livesValue.text = string.format("%d", lives)
end

end

此函数在enterFrame事件上激活,如下所示:

Runtime:addEventListener( "enterFrame", FuelConsumption )

它的工作非常好,但我的问题是:一旦变量pressed==true,如何每5秒减少生命条宽度?

我尝试将其添加到我的触摸事件函数中:

function flyUp(event)

if event.phase == "began" then pressed=true

    if gameStarted == false then

        gameStarted = true
        pauseBtn.isVisible=true
        opt_btn.isVisible=true
        Runtime:addEventListener("enterFrame", enterFrameListener)
        Runtime:addEventListener("enterFrame",scrollGrasses)
        timer.performWithDelay( 5000, function() Runtime:addEventListener( "enterFrame", FuelConsumption ) end,-1 )
    end

elseif event.phase == "ended" then pressed = false timer.performWithDelay( 1000, function() Runtime:removeEventListener( "enterFrame", FuelConsumption ) end,-1 ) end end

问题是该代码消耗了大量内存,游戏变得非常慢!那么,还有其他方式吗?

谢谢 :)

点赞
用户2911650
用户2911650

使用精灵图表而不是单个图像可能会提高游戏性能。

2014-05-13 08:28:22