【问题标题】:How to animate random objects created on screen in corona sdk如何在 corona sdk 中为屏幕上创建的随机对象设置动画
【发布时间】:2013-08-06 17:23:01
【问题描述】:

我正在尝试为在屏幕上随机位置单独创建的随机对象设置动画, 对象将在随机位置创建并向右移动,当它们穿过屏幕宽度时,它们将从左侧(屏幕之外)生成。我无法理解如何在屏幕上为随机创建的对象设置动画。以下是我使用的代码。请帮忙。谢谢....

--objects that are created randomly
local randoms=math.random
local randomx,randomy
local randomobjname1,randomobjname2

for i=1, 2 do
  randomx=randoms(200,400)
  randomy=randoms(600,800)
  local xlocation=randomx
  local ylocation=randomy

  local RandomObject[i]=display.newImage("object.png")
  RandomObject[i].x=xlocation
  RandomObject[i].y=ylocation

    if i==1 then
      randomobjname1=RandomObject[i]
    elseif i==2 then
      randomobjname2=RandomObject[i]
    end

  local function animateobj()
    --in this line i have confusion how to pass random x position that i got previously from the above function
    randomobjname1.x=randomx
    randomobjname2.x=randomx
    transition.to(randomobjname1,{time=1500,x=700, onComplete=animateobj})
    transition.to(randomobjname2,{time=1500,x=700, onComplete=animateobj})
  end
end

【问题讨论】:

    标签: android random lua coronasdk spawning


    【解决方案1】:

    你在找这个吗:

    local RandomObject = {}
    local xPos = {}
    local transitionTime = 1500
    
    local listener2 = function( obj )
        transitionTime = 2000 -- U can select as ur need
        RandomObject[obj.tag].x = xPos[obj.tag]-400 -- U can even choose a difft. val than '400'
        animateobj(obj.tag)
    end
    
    function animateobj(i_)
        transition.to(RandomObject[i_],{time=transitionTime,x=400+xPos[i_], onComplete=listener2})
    end
    
    for i=1, 2 do
        RandomObject[i]=display.newImage("object.png")
        RandomObject[i].x = math.random(100,300)
        RandomObject[i].y = math.random(100,400)
        RandomObject[i].tag = i
        xPos[i] = RandomObject[i].x
        animateobj(i)
    end
    

    继续编码............ :)

    【讨论】:

    • 在上面的代码中,对象是在随机位置生成的,然后向右移动,它工作得很好,但是在第一次将对象向右移动到屏幕之外之后,对象必须生成从左边例如。像 x=-30 这样的东西,而不是从屏幕上的相同随机位置生成,如何对这段代码进行这种更改,感谢您的帮助...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2020-04-14
    • 2016-04-09
    • 1970-01-01
    相关资源
    最近更新 更多