首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cocos2dx RegisterTouchDispatcher

Cocos2dx RegisterTouchDispatcher
EN

Stack Overflow用户
提问于 2012-07-31 14:58:07
回答 3查看 2.1K关注 0票数 0

我已经开始在iphone中使用cocos2d-x了。我已经创建了一个继承自cclayer的类。现在,当我尝试用touch dispatcher注册它时,它崩溃了。

在.h文件中:

类BasePage : public cocos2d::CCLayer

和.m文件:

代码语言:javascript
复制
CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, INT_MIN + 1, true);

并在ccobject.m文件中崩溃:

代码语言:javascript
复制
void CCObject::retain(void)
{
    CCAssert(m_uReference > 0, "reference count should greater than 0");[here is crash]

    ++m_uReference;
}

你能给我一些解决方案吗?

EN

回答 3

Stack Overflow用户

发布于 2013-09-03 10:42:03

代码语言:javascript
复制
bool SampleLayer::init()
{
   if (!CCLayer::create())
          return false;


    setTouchEnabled(true);

    return true;
}

void SampleLayer::onEnter()
{

CCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate(this, 0, true);
    CCNode::onEnter();

}

void SampleLayer::onExit()
{

    CCDirector::sharedDirector()->getTouchDispatcher()->removeDelegate(this);
    CCNode::onExit();

}

bool SampleLayer::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
    return true;
}

void SampleLayer::ccTouchMoved(CCTouch* touch, CCEvent* event)
{}

void SampleLayer::ccTouchEnded(CCTouch* touch, CCEvent* event)
{}
票数 1
EN

Stack Overflow用户

发布于 2013-12-13 17:02:09

您只能在.m(或.cpp)文件中写入此行

代码语言:javascript
复制
CCDirector::sharedDirector()->getTouchDispatcher()->addStandardDelegate(this, 0);
票数 0
EN

Stack Overflow用户

发布于 2014-04-30 13:11:09

事实上,您不需要实现自己的RegisterTouchDispatcher。

只需在构造函数或onEnter中调用下面的方法

代码语言:javascript
复制
setTouchEnabled(true);
setTouchMode(kCCTouchesOneByOne);

基类将为您完成所有的杂乱工作。

此外,如果您想启用多点触控,则应将触控模式设置为kCCTouchesAllAtOnce

ps:如果您在自己的类中重写onEnter,请记住在您自己的onEnter函数中调用BaseClass::onEnter(),如

代码语言:javascript
复制
MyLayer::onEnter()
{
    CCLayer::onEnter();
    // do my own stuff
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11734762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档