Juego se traba con timer.performWithDelay

Buenas noches, lo que pasa es que estoy haciendo un juego con un arma que dispara y quiero que la bala al momento de colisionar con un muro se agregue un efecto de una explosion y que despues desaparezca por lo que hice esto para la colision y la explosion

local function borra()    timer.performWithDelay(1000, function() explosion.isVisible = false; end, 0) end     local function explode() explosion.x = laser.x explosion.y = laser.y explosion.isVisible = true laser.isVisible = false borra() end local function onGlobalCollision( event ) if event.phase == "began" then    laser.collided = true    laser.bodyType = "static"    explode() end end Runtime:addEventListener( "collision", onGlobalCollision ) end

Y si funciona, si hace la colision si cambia la bala(laser) por una explosion y la desaparece al pasar 1 segundo, pero si disparo varias veces el juego se comienza a congelar, y deja de mostrar la explosion hasta que queda congelado por completo, quisiera saber si alguien sabe porque pasa esto, aclaro soy nuevo en esto y busco aprender, saludos

Hola @ricardo.repp,

En la colisión, hay algún mensaje de error/alarma en la consola? (lo siento, mi Español no es bueno).  :o

Brent

Hola @ricardo.repp,

En la colisión, hay algún mensaje de error/alarma en la consola? (lo siento, mi Español no es bueno).  :o

Brent

Ricardo,

Hola. Según veo (así, de manera rápida), lo que pasa es que no estás eliminando los objetos, en este caso, la bala y la explosión, solo los estás ocultando. El hecho de que no sea vean no significa que no existan, siguen estando ahí, consumiendo recursos.

Saludos,

Paolo

Ricardo,

Hola. Según veo (así, de manera rápida), lo que pasa es que no estás eliminando los objetos, en este caso, la bala y la explosión, solo los estás ocultando. El hecho de que no sea vean no significa que no existan, siguen estando ahí, consumiendo recursos.

Saludos,

Paolo