如何更新corona sdk中函数外的变量?

时间:2017-07-04 11:44:10

标签: lua corona

如何在函数外部更改变量(在我的情况下,它是一个eventListener)?我有一个目标,这是一个圆圈,当分数超过10时,我希望它的半径发生变化。如何更新变量以检查半径是多少?

 local goal
 local goalRadius = 40

 local function checkScore()
   if(score>10)then
      goalRadius = 20
      --UPDATE THE VARIABLE?
 end


goal = display.newCircle(0,0,goalRadius)
goal:addEventListener("touch", checkScore)

2 个答案:

答案 0 :(得分:1)

我为解决这个问题所做的是:我使用removeSelf()来删除目标然后重新创建它。

 local goal
 local goalRadius = 40

 local function checkScore()
  if(score>10)then
       goal:removeSelf()
       goalRadius = 20
       goal = display.newCircle(0,0,goalRadius)
  end
 end


 goal = display.newCircle(0,0,goalRadius)
 goal:addEventListener("touch", checkScore)

答案 1 :(得分:0)

如果您需要更改圆圈半径,请使用goal.widthgoal.height。请记住goal.width == goal.height == two radii代表圈子。