から継承するゲーム内のオブジェクトがありますCCLayer
。このレイヤー はMainLayer
、ほとんどのアクションが発生し、スプライトが表示されるゲームの主要コンポーネントです。
私が抱えていて、何時間も修正しようとしてきた問題は、 this の割り当てを解除することMainLayer
です。このレイヤーには、多くの子と多くのアクションがあります。最も厄介な部分は、割り当てが解除されたときにクラッシュすることもあれば、正常に動作することもあり、状況に違いが見られないことです。
クラッシュする部分は、次のdealloc
方法ですCCNode
。
- (void) dealloc
{
CCLOGINFO( @"cocos2d: deallocing %@", self);
[actionManager_ release];
[scheduler_ release];
[camera_ release];
[grid_ release];
[shaderProgram_ release];
[userObject_ release];
// children
CCNode *child;
CCARRAY_FOREACH(children_, child)
child.parent = nil;
[children_ release];
[super dealloc];
}
具体的child.parent = nil;
にはEXC_BAD_ACCESS
エラーで失敗します。
問題が何であるかについてのアイデアはありますか?