降低速度值LUA

时间:2013-02-20 23:53:37

标签: android ios lua corona

如何通过每次减少movementSpeed来增加 star1.movementSpeed = 10000; 10秒。

我试过这个,但无法弄清楚我做错了什么

function initStar()
local star1 = {}
star1.imgpath = "Star1.png"; --Set Image Path for Star
star1.movementSpeed = 10000; --Determines the movement speed of star
table.insert(starTable, star1); --Insert Star into starTable
end --END initStar()    


 local function star1incr() -- increments Speed value every time it is called
 movementSpeed = movementSpeed - 1
 star1.movementSpeed = "movementSpeed: " .. movementSpeed 
 end

 timer.performWithDelay(10000, star1incr, 0)

2 个答案:

答案 0 :(得分:2)

使用

修复
   local function star1incr()
        starTable[1].movementSpeed = starTable[1].movementSpeed - 1
        print( "- 1" )
    end

答案 1 :(得分:1)

您需要拥有一个可以在initStar()star1incr()之间共享的变量(顺便说一下,“增量movementSpeed减少...movementSpeed听起来不正确”;类似于这可能有用:

local star1 = {}

function initStar()
  star1.imgpath = "Star1.png" --Set Image Path for Star
  star1.movementSpeed = 10000 --Determines the movement speed of star
end --END initStar()    


local function star1incr()
  star1.movementSpeed = star1.movementSpeed - 1
end

timer.performWithDelay(10000, star1incr, 0)

star1变量将在initStarstar1incr函数之间共享(在Lua术语中称为upvalue)。