Теперь перепишите код из cocos2d (object-c) в cocos2d-x (c + +) и столкнулся с проблемой: у меня есть два класса, два CCLayer. В одном классе CCMenu, нажимая кнопку, вызывает второй класс:
CCMenuItem * button = [CCMenuItemImage itemWithNormalImage: @ "1.png" selectedImage: nil block: ^ (id sender) {
HelloWorldLayer * helloWorldLayer = (HelloWorldLayer *) [self.parent getChildByTag: 777];
[helloWorldLayer createSprite: self];
}];
А во втором классе я назначаю тег Layer:
self.tag = 777;
и этот метод:
- (void) createSprite: (id) sender {
..}
Как переписать этот код в С++?))
Это просто.
Пусть класс, в котором находится меню Class- A
CCMenuItem * button=CCMenuItemImage::create("normal", "selected", "disable", menu_selector(A::Method));
Метод
void A::Method(CCObject *pSender){
HelloWorldLayer * helloWorldLayer = (HelloWorldLayer *)this->parent->getChildByTag(777);
helloWorldLayer->createSprite(this);
}