仅从表格中删除一个对象。

我正在使用以下代码来删除我与之碰撞的对象,但它删除了表中的所有对象,如何将其限制为我碰撞的表中的对象?(仅删除一个)

for i = #badC1T, 1, -1 do
    if badC1T[i] ~= nil then

      local function dellBadC1T()
        if badC1T[i] ~= nil then
          badC1T[i]:removeSelf()
          badC1T[i] = nil
        end
      end

    transition.to( badC1T[i], {  time=100, alpha=0, onComplete = dellBadC1T} )
    end
end
点赞
用户204011
用户204011

我不知道你的代码是如何工作的,但是考虑到循环是反向的,你正在碰撞的对象是否是表中最后一个不为 nil 的对象?

我怀疑你只是想在删除一个对象后退出循环,在这种情况下,你只需要在循环中添加 break

for i = #badC1T, 1, -1 do
  if badC1T[i] ~= nil then

    local function dellBadC1T()
      if badC1T[i] ~= nil then
        badC1T[i]:removeSelf()
        badC1T[i] = nil
      end
    end

    transition.to( badC1T[i], {  time=100, alpha=0, onComplete = dellBadC1T} )
    break -- <= 只需添加这个
  end
end
2013-09-13 14:05:48