我正在使用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,这是来自Info.cpp的NSObject类型(Objective C ++ Source),它具有相同的类型(Objective C ++ Source),通过这样生成对象:
Myclass *object=[[Myclass alloc]init];
[object temp];
现在,我希望在temp函数完成进程后调用父层方法(Info.cpp),我必须做什么?我试过这个:
CCScene *current=CCDirector::sharedDirector()->getRunningScene();
CCLayer *layer=(CCLayer *)current->getChildByTag(88);
Info *gamescene=dynamic_cast<Info *>(layer);
gamescene->temp();
但是它给出了错误......我必须在这里改变什么?请建议是否有人知道。