1

我正在尝试使用 for 循环来破坏我的数组中的对象,如下所示:

for item in self.objects do
    item:removeSelf()
end

self.objects 是我的数组,它包含我用于动画的图像。如果我触摸这些动画对象之一,它应该被销毁(消失)。我的问题是,我收到此错误消息:

尝试调用表值

我不确定为什么会收到此错误以及如何解决此错误,因此有人可以解释一下我如何在触摸事件期间从数组中删除对象以及为什么会收到此消息吗?提前致谢。:D

4

1 回答 1

5

形式的通用 for 循环for x in y do...期望y是一个迭代器函数。您正在向它传递一个表,因此会出现错误消息。

如果您只想遍历表中的每个条目,请使用pairs

for key, item in pairs(self.objects) do
  item:removeSelf()
end

有关泛型 for 和迭代器的更多信息,请参阅 PiL 4.3.5第 7 章的全部内容。

于 2013-03-26T02:36:15.703 回答