我正在尝试使用过渡以恒定速度沿复杂曲线路径的点移动对象。 我有两个表来保持点的坐标,另一个表有相应的时间间隔,以相同的速度行进每个线性段(尽管它们有不同的长度)。
假设“timeTable”的第一个和最后一个值是0,我尝试使用类似的东西:
class directedGraph
{
private:
class vertex
{
public:
string data;
bool visited;
vertex * predecessor;
list<vertex*> adjList;
vertex(string x)
{
data = x;
visited = false;
}
};
list<vertex*> vertexList;
虽然没有给出错误但它不起作用。 在此先感谢您的helpenter代码
答案 0 :(得分: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
答案 1 :(得分:0)
尝试
同一对象的转换链方法
local function chainOfTransitions(object, params, ...)
if params then
function params.onComplete()
chainOfTransitions(object, unpack(arg))
end
transition.to(object, params)
end
end
答案 2 :(得分:0)
谢谢你们所有人! 我通过这样做完成了目标:
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