2014-05-02 48 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