Corona SDK removeSelf()延迟问题

我在使用Corona SDK时遇到问题,每当我在属于某个组的项上调用removeSelf()时,每个其他项都会冻结一秒钟,然后在此之后瞬间传送到它应该在的位置,该函数每帧调用一次

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

有没有更好的删除对象的方法?

点赞
用户7147481
用户7147481

将下面翻译成中文并且保留原本的 markdown 格式

是的,有更好的方法。

但在此之前,我想告诉您,如果您想使用 removeSelf() 移除对象,您还需要将其设置为 nil。

例如:

object:removeSelf()
object = nil

但是有一个非常好的方法,我正在使用,您也应该使用:

display.remove( object )

您只能使用 display.remove() 以移除显示对象。

请参阅此文档

2017-02-23 20:07:29