我在這個小妖精這在它的init方法不明白什麼是錯誤的,得到EXC_BAD_ACCESS,任何提示?
lineDrawer = [[LineDrawer alloc]initWithLineColor:ccc3(color.r, color.g, color.b)];
lineDrawer.position = ccp(0,0);
lineDrawer.anchorPoint = ccp(1,1);
[self addChild:lineDrawer];
[self addChild:head];
[lineDrawer release];
沒什麼錯在這裏嗎?我可以釋放它作爲addchild保留對象。 (autorelease也可以)
雖然當我有版本,我得到EXC_BAD_ACCESS(code = 1)稍後。我也試着將release發佈到dealloc方法,但它給了我同樣的錯誤。
具有參考lineDrawer的唯一對象是spriteobject(玩家:CCSprite),它在定義和它不會有一個getter所以它甚至不能被其他對象進行訪問,所以我不明白如何這可能發生。什麼時候可以調用lineDrawer當只有擁有者引用它時,它會被處理掉嗎?
它發生在CCLayer的繪製方法內部的CC_NODE_DRAW_SETUP()行上。
任何提示?我知道這些問題在缺乏代碼的情況下總是很難解決,但很難知道要向您展示的代碼。如果我知道我可以自己解決它。我也嘗試在儀器中調試這些,但我不確定在哪裏尋找。
更新, 我試圖與殭屍調試啓用
這是否和你說什麼? 這是LineDrawer類。這是我稍微修改過的其他人的課程。
http://pastebin.com/7Uv4GULy
http://pastebin.com/08NHeVt9
我有一種感覺,它的一些方法已排程或東西..
是的,但崩潰發生在我釋放播放器類後,因此兒童應該清空權利(和釋放) 關於另一件事,它可能看起來有點奇怪,但它實際上是玩家的一部分,所以它對我有意義。也許它應該是LineDrawer:CCSprite,但正如你所說,它應該沒關係。我現在試圖用CCLOG的方式來追蹤它,每次發生這種情況時都會感到沮喪,因爲我一般都懶得用xcode或C來貶低它。 – 2012-08-03 00:40:50