2013-02-19 79 views
0

我正在制作JewelDash类型的游戏。出于某种原因,过了一段时间,应该从场景中移除的1个精灵没有。那个精灵不会对触摸做出反应,没有什么,只是在那里。在其他新创建的精灵下方进行环聊。这可能是什么原因?Sprite不会从场景中移除iOS

我将所有的精灵都加入了spritesArray。无论何时用户触摸一个块,我都会遍历spritesArray并确定哪个精灵被触摸。事实上,它不响应触摸告诉我它已从精灵中删除阵列

当许多精灵同时被删除时,会发生这种情况。很少发生。

谢谢。

+0

什么框架,您使用的吗? iOS本身并不知道任何关于精灵的事情。 cocos2d的? – 2013-02-19 22:31:23

+0

是的,我正在使用cocos2d。 – Huy 2013-02-19 22:39:38

+3

如果您将其从阵列中移除,则还需要将其作为小孩移除。听起来像那部分失败了。发布代码。 – LearnCocos2D 2013-02-20 00:37:15

回答

1

如果您使用NSMuttableArray,则可能会发生以下情况:如果在init方法中使用NSMuttableArray进行alloc init初始化,然后再添加任何sprite,所以我无法访问任何sprite,因为数组未初始化。我让我的阵列零

也删除自己的孩子一样

[spritesArray removeObject:sprite name]; 
[self removeChild:sprite name cleanup:YES]; 

试试这个,它可以帮助