2014-05-02 88 views
0

希望这有助于澄清... enter image description here我正在试图简单的点击断言失败和移动测试

我跟着ClicktoMove测试从cocos2dx -3版本的CPP测试。 每当我点击屏幕,我得到

声明失败!
......
文件:CCLayer.cpp
线:337
表达:假

更新!

我下载了更新日志“cocos2d-x-3.0 Apr.23 2014”中提到的最新版本。 这解决了这个问题,我在这里提到的所有方法都可以工作。无论如何GameDeveloper ..

+0

什么是* CCLayer.cpp行表达:337 *这是评估为假? – Praetorian

+0

CCASSERT(false,“Layer#ccTouchBegan override me”); – Sam

回答

0

我会改变你的使用onTounchBeganonTouchEnded,因为这些是用于实现触摸事件的Cocos2d v2函数。

什么是这样的:

auto e=EventListenerTouchOneByOne::create(); 
e->setSwallowTouches(true); 

e->onTouchBegan = [&](cocos2d::Touch* touch, cocos2d::Event* event) 
{ 
    return true; 
}; 

e->onTouchEnded = [=](cocos2d::Touch* touch, cocos2d::Event* event) 
{ 
    GameLayer::touchEvent(touch); 
}; 

cocos2d::Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(e,this); 

void GameLayer::touchEvent(Touch* touch) 
{ 
    std::cout << "touch event" << std::endl; 
} 
+0

ClickandMove测试使用我用过的相同的检查在这里https://github.com/cocos2d/cocos2d-x/blob/v3/tests/cpp-tests/Classes/ClickAndMoveTest/ClickAndMoveTest.cpp – Sam

+0

我试过这个示例它适用于我。我无法确定你的代码。看起来像一个混合了普通源代码的头文件。也许更好地分解它,我可以运行它,看看发生了什么。 – GameDeveloper

+0

为了清晰起见,我发布了快照。或许您可以向我显示您的代码。您只需复制粘贴或修改示例。 – Sam