如何在 Corona SDK 中在函数外更新变量?

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

 local goal
 local goalRadius = 40

 local function checkScore()
   if(score > 10) then
      goalRadius = 20
      --更新变量?
 end

goal = display.newCircle(0,0,goalRadius)
goal:addEventListener("touch", checkScore)
点赞
用户7026995
用户7026995

如果你需要改变圆的半径,可以使用 goal.widthgoal.height。只要记住,对于圆形 goal.width == goal.height == 两个半径

2017-07-04 13:45:55
用户7838536
用户7838536

以下是答案:

我解决这个问题的方法是这样的:我使用 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)
2017-07-05 12:13:01