Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Animation lua-如何按顺序执行转换_Animation_Lua_Coronasdk - Fatal编程技术网

Animation lua-如何按顺序执行转换

Animation lua-如何按顺序执行转换,animation,lua,coronasdk,Animation,Lua,Coronasdk,我试着用转场沿复杂曲线路径的点以恒定速度移动一个物体。 我有两个表来保存点的坐标,还有一个表分别列出了以相同速度移动每个直线段的时间间隔(尽管它们的长度不同) 假设“时间表”的firts和最后一个值为0,我尝试了类似的方法: local i = 1 local function Move() transition.to(player, {time=timeTable[i+1], x=TableX[i+1], y=TableY[i+1]}) i=i+1 end t

我试着用转场沿复杂曲线路径的点以恒定速度移动一个物体。 我有两个表来保存点的坐标,还有一个表分别列出了以相同速度移动每个直线段的时间间隔(尽管它们的长度不同)

假设“时间表”的firts和最后一个值为0,我尝试了类似的方法:

local i = 1
local function Move()
        transition.to(player, {time=timeTable[i+1], x=TableX[i+1], y=TableY[i+1]})
        i=i+1
end 
timer.performWithDelay( timeTable[i], Move, 0 )
虽然没有给出错误,但它不工作。 提前感谢您的帮助在此处输入代码

这可能有效

local timeTable = {1,     3,   4,   1}
local TableX    = {100, 400, 400, 500}
local TableY    = {100, 100, 500, 500}

local i = 0

local function onCompleteMove()
   i = i + 1
   if timeTable[i] then
      transition.to(player, {
         time=timeTable[i], 
         x=TableX[i], 
         y=TableY[i], 
         onComplete=onCompleteMove
      })
   end
end

onCompleteMove()  -- start moving to first point
试一试

同一对象的转换链方法

local function chainOfTransitions(object, params, ...)
   if params then
        function params.onComplete() 
            chainOfTransitions(object, unpack(arg)) 
        end

        transition.to(object, params)
   end
end
谢谢大家! 我通过这样做实现了目标:

local segmentTransition
local delta = 1
local function onCompleteMove()
    i = i + delta
    if timeTable[i] then
        segmentTransition = transition.to(player2, {
            time=timeTable[i],
            x=tableX[i+delta],
            y=tableY[i+delta],
            onComplete=onCompleteMove
        })
    end
end

onCompleteMove()  -- start moving

若你们不需要有时间间隔的表格,而想要恒定的速度,反之亦然。