2013-02-19 76 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]; 

試試這個,它可以幫助