10

我目前正在将 ObjC cocos2d 游戏移植到 cocos2d-x,但是在尝试创建 registerWithTouchDispatcher 方法时遇到了一些问题,目前我正在做

void GameLayer::registerWithTouchDispatcher()
{
    CCTouchDispatcher::sharedDispatcher()->addTargetedDelegate(this,0,true);
}

但这会在 cocos2d::CCTouchDispatcher 中给出错误“没有名为 sharedDispatcher 的成员”。

有没有另一种方法必须在 cocos2d-x 中完成?

4

3 回答 3

19

如果您使用的是 2.0,它们已被合并到 CCDirector。请用

            CCDirector::sharedDirector()->getTouchDispatcher()
于 2012-06-29T23:40:29.123 回答
1

使用这些代码代替 ccdirector。将代码放到 cclayer init 函数中。

setTouchMode(kCCTouchesOneByOne);

registerWithTouchDispatcher();
于 2013-05-26T16:57:25.717 回答
0

在 cocos2d-x 中你可以这样做。

CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this,0);
于 2013-12-05T11:36:48.773 回答