【问题标题】:rewrite the code cocos2d (objective-c) on cocos2d-x (c++)在 cocos2d-x (c++) 上重写代码 cocos2d (objective-c)
【发布时间】:2013-12-21 03:04:09
【问题描述】:

现在把代码从cocos2d(objective-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 {
..}

如何用C++重写这段代码?))

【问题讨论】:

    标签: c++ objective-c cocos2d-iphone cocos2d-x translate


    【解决方案1】:

    很简单。

    让class在哪个菜单是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);
    }
    

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-06
      • 2013-12-12
      相关资源
      最近更新 更多