Bu yüzden bir çocuk CCSprite nesnesi olan bir CCLayer nesnesi, bir koşul gerçekleştiğinde (bir güncelleme yöntemi ile tespit) kendisi aşağıdakiObj c NSNotificationCenter Kötü Erişim
[[NSNotificationCenter defaultCenter] postNotificationName:@"mymethod" object:nil];
çağırır denir CCSprite bir yöntem var
CCLayer sonra çıkarmak için CCSprite için
[node removeFromParentAndCleanup:YES];
çalıştırmak için devam ediyor. CCLayer de bu ince ve ancak bazen beklendiği gibi ben bildirim sonrası hattına işaret eden bir bad_access olsun çalışır init üzerinde 10 üzerinden
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(mymethod) name:@"mymethod" object:nil];
Şimdi 9 kez aşağıdaki çağırdı.
benzeri numaralı sorunları olan diğer kişiler hakkında okumamın sebebi, bunun nedeni, alt nesnenin kaldırılmasından kaynaklanıyor, ancak kaldırılmadan önce nasıl çağrıldığını bilmiyorum.
Çağrılan bildirimi geciktirmek için bir şey olabilir ve nesne kaldırıldıktan sonra sonlandırılıyor mu, yoksa yanlış ağacı mı havlıyor muyum? Ben kaldırma ve temizleme satırını açıklama ise
GÜNCELLEME
Eklendi kaldırma Yukarıdaki kod, bu olmaz.
Çocuğu kaldırdığınız kodu postayla gönderebilir misiniz? Üst sınıfın sonunda bir cocos2d sınıfı ise, onExit yönteminde göndermek isteyebilirsiniz –
. onExit, 'removeFromParent' döngüsü sırasında çağrılır ve gerçek kaldırma işleminden önce yürütülür. [Super onExit] için unutma. – YvesLeBorg
Nesnenin hala "olup olmadığına" bakmak için "çıkarmayı" denediniz mi? – AntonijoDev