Cocos2D isTouchEnabled = NO; релиз сцены и крушение - PullRequest
2 голосов
/ 17 декабря 2011

Я работаю над игрой для iPhone с использованием cocos2d, и я новичок в Objective C и Cocos2d, поэтому я извиняюсь, если это действительно начинающий вопрос.Я провел много поисков и не могу найти решение этой проблемы.Я обнаружил, что cocos2d не будет вызывать функцию dealloc, освобождать сцену или слой, если я не поставлю -(void) onExit{self.isTouchEnabled = NO;} в конце файла .m.Проблема заключается в том, что в следующей сцене игра вылетает при прикосновении к экрану, даже если я добавлю self.isTouchEnabled = YES; в метод init, onEnter или где-нибудь еще во второй сцене.

Когда игра вылетает (gbd) указывает на:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if( dispatchEvents ) [self touches:touches withEvent:event withTouchType:kCCTouchBegan]; }

в качестве источника проблемы с указанием "EXC_BAD_ACCESS"

Пожалуйста, помогите!!Спасибо !!

1 Ответ

0 голосов
/ 02 февраля 2012

Я также новичок в iPhone :-) Но по моему опыту, причина, по которой вы получаете "EXC_BAD_ACCESS", не из-за вашего кода здесь. это должна быть проблема " release ". я предполагаю, что вы выпускаете освобожденный объект ...

Вы можете попытаться использовать инструменты Xcode Zombies, чтобы определить, где возникла эта проблема. Есть множество учебников о Xcode Zombies онлайн, просто погуглите их, если хотите.

удачи: -)

...