【问题标题】:Making the circle dilate until clicked使圆圈扩大直到被点击
【发布时间】:2015-04-04 03:29:13
【问题描述】:

所以我正在使用电晕,我正在尝试创建一个游戏,该游戏的圆圈会变得越来越小,直到单击它停止扩张并出现一个新圆圈,然后它也开始扩张。游戏的重点是让尽可能多的圆圈相互适应。我的问题是我已经能够制作一个无限循环,这样圆圈就会永远变得越来越小,但现在我正试图让它在点击时停止。我试过把它放在一个循环中,当点击次数是一次时它会去,然后当它两次时它会停止但它不起作用。你们能帮忙吗?

这是我现在拥有的代码,除了出现一个小圆圈之外什么都没有发生。

circa = display.newCircle(display.contentWidth/2, display.contentHeight/2, 20)
circa:setFillColor(noFillColor)
circa.strokeWidth=5
circa:setStrokeColor(1,0,0)

local function numberOfCircles ( event )

  if (event.numTaps==1) then
    x=1
  elseif (event.numTaps==2) then 
    x=2
  end

end

Runtime:addEventListener("enterFrame" , numberOfCircles)

while x==1 do

  i = i + 1

  local function startCircle(event)
    resize = circa.path
    circa.scale=transition.to( resize, {radius = 300, time=1000, x= event.x, y=event.y})
  end


  local function endCircle( event )
    reresize = circa.path
    circa.scale = transition.to( resize, {radius = 20, time=1000, x= event.x, y = event.y})
  end

  timer.performWithDelay(1000*i, startCircle)
  timer.performWithDelay(2000*i+1,endCircle)
end


if x == 2 then
  circa.setLinearVelocity(0, 0)
end

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    实现这一目标的最佳方法是对代码进行 2 处更改。

    首先,让我们开始你的无限循环。我们可以通过使用过渡重复模式来达到同样的效果。

    然后,我们只需为您的过渡添加一个标签,这样您就可以通过调用 transition.cancel("tagname") 轻松取消过渡。

    您的代码如下所示:

    circa = display.newCircle(display.contentWidth/2, display.contentHeight/2, 20)
    circa:setFillColor(noFillColor)
    circa.strokeWidth=5
    circa:setStrokeColor(1,0,0)
    
    
    local scaleFactor = 300/20
    
    transition.to(circa, {xScale=scaleFactor, yScale=scaleFactor, time=1500, transition= easing.continuousLoop,iterations=-1, tag="myTransition"})
    
    
    local function onBackgroundTap(e)
    
        print("user clicked on background. Let's stop transition")
    
        transition.cancel("myTransition")
    
    end
    
    Runtime:addEventListener("tap", onBackgroundTap)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多