我正在尝试将一个对象随机移动到不同的位置,所以我推出了以下内容:transition.to随机生成x,y以及时间,并在完成时运行另一个函数来检查对象仍在那里并将其发送到不同的位置。
但是我收到了一个错误:
Runtime error
main.lua:352: stack overflow
stack traceback:
main.lua:352: in function
'toAnotherPlace'
看起来电晕并没有真正等待转换完成,所以它继续无限循环
码
function toAnotherPlace(object)
if object ~= nil then
transition.to( object,
{
time=math.random(1500,6000),
alpha=1,
x=(math.random(10, 310)),
y=(math.random(10, 400)),
onComplete=toAnotherPlace(object)
})
end
end
transition.to( bossess[boss],
{
time=math.random(1500,6000),
alpha=1,
x=(math.random(10, 310)),
y=(math.random(10, 400)),
onComplete=toAnotherPlace(bossess[boss])
})
答案 0 :(得分:1)
你可以尝试这个,我添加了一个onComplete = function() ... end
,然后在其中调用toAnotherPlace(object)
函数。
如果您直接调用onComplete
function toAnotherPlace(object)
print(object.width)
if object ~= nil then
transition.to( object,
{
time = math.random(1500,6000),
alpha = 1,
x = math.random(10, 310),
y = math.random(10, 400),
onComplete = function()
toAnotherPlace(object)
end
})
end
end
transition.to(bossess[boss],
{
time = math.random(1500,6000),
alpha = 1,
x = math.random(10, 310),
y = math.random(10, 400),
onComplete = function()
toAnotherPlace(bossess[boss])
end
})
我试过这个并且工作正常,没有错误。
如果仍然出现错误,请检查bossess[boss]
是否有对象的引用