何らかの理由で、次のコードは、else ステートメントが何度も実行されると、スタック オーバーフロー エラーをスローします。Scene.targeting 関数でパラメーターにobjTable
渡されたターゲットからターゲットを選択しようとしていますが、a を持つターゲットのみ.tgtFlag == false
が有効な選択です。関数が を持つターゲットを選択すると.tgtFlag == true
、同じパラメータ セットを渡す scene.targeting 関数が呼び出されます。
改行は、数回呼び出されlocal theTarget = params.objTable[math.random( 1, #params.objTable )]
た後にのみ行われます。else scene.targeting(params) end
どんな助けでも大歓迎です。
function scene.targeting( params ) -- Targeting functions
function animateTarget( target )
if target.savedFlag == false then
transition.to( target, {time = 100, y = target.y - 15} )
transition.to( target, {time = 100, delay = 150, y = target.y, onComplete = animateTarget} )
end
end
local theTarget = params.objTable[math.random( 1, #params.objTable )]
if theTarget.tgtFlag == false then
theTarget.tgtFlag = true
animateTarget(theTarget)
else
scene.targeting(params)
end
end