2016-03-04 6 views
0

У меня проблема с Corona, когда я звоню removeSelf() по элементу, принадлежащему группе, каждый другой элемент замерзает на секунду, а затем телепортируется туда, где он должен быть после этого времени, функция вызывается каждый кадрCorona SDK removeSelf() lag

function moveObstacle() 
    for a = 1, obstacles.numChildren, 1 do 
    if obstacles[a] ~= nil then 
     obstacles[a].x = obstacles[a].x - 2 
     if obstacles[a].x < -50 then 
      obstacles[a]:removeSelf() 
     end 
     if obstacles[a].addedPoint == false then 
      if ball.x > obstacles[a].x then 
       obstacles[a].addedPoint = true 
       points = points + 1 
       pointsText.text = points 
      end 
     end 
    end 
    end 
end 

Есть ли лучший способ удалить объект?

ответ

0

Да, есть лучший способ. Но прежде, я хочу сказать вам, что если yoy хочет удалить объект с помощью removeSelf(), вам также нужно установить его в nil.

Пример:

object:removeSelf() 
object = nil 

Но есть очень лучший способ, который я использую, и вы должны тоже:

display.remove(object) 

Вы можете использовать display.remove() для только экранных объектов.

См. this documentation.