如何制作燃料棒

时间:2014-04-28 17:20:58

标签: lua corona

我想建一个燃料棒(从满罐到空)。当用户触摸屏幕时,燃料棒会发生变化。 这是我的代码:

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时,表示用户正在触摸屏幕:

 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 )

效果很好,但我的问题是:如何减少每5秒钟的生命栏宽度(一旦变量按下== true)?

我尝试将此添加到我的触摸事件功能中:

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

问题在于代码消耗了大量内存并且游戏进展缓慢!那么,还有其他办法吗?

谢谢:)

1 个答案:

答案 0 :(得分:0)

而不是使用单个图像使用精灵表。这可能会增加游戏。