Я разрабатываю игру в cocos2dx. В Cocos2d для вызова метода родительского уровня из NSObject я использовал это:
-(void)EnableTouch
{
CCScene *current = [[CCDirector sharedDirector] runningScene];
if (current) {
id layer = [current getChildByTag:8];
if (layer) {
[indicator stopAnimating];
[layer EnableTouch];
}
}
}
и я могу вызвать метод EnableTouch моего родительского слоя … Теперь то же самое я хочу сделать с cocos2dx.
Здесь я вызвал Myclass.mm, который является типом NSObject (Objective C ++ Source) из Info.cpp, который имеет тот же тип (Objective C ++ Source), создавая объект следующим образом:
Myclass *object=[[Myclass alloc]init];
[object temp];
Теперь я хочу вызвать метод родительского слоя (Info.cpp) после завершения процесса в функции temp для того, что я должен сделать? Я попробовал это:
CCScene *current=CCDirector::sharedDirector()->getRunningScene();
CCLayer *layer=(CCLayer *)current->getChildByTag(88);
Info *gamescene=dynamic_cast<Info *>(layer);
gamescene->temp();
Но это дает ошибку … Что я должен изменить здесь? Пожалуйста, предложите, если кто-нибудь знает.
Задача ещё не решена.