多点触控仅检测2个水龙头

时间:2015-01-31 07:33:36

标签: c++ screen cocos2d-x multi-touch cocos2d-x-3.0

在CppTest Multitouch演示中,当我用3个手指点击屏幕时,一次只绘制2个交叉线而不是3个。

由于我的移动硬件,这是2点击限制吗?或

有没有办法一次检测超过2个点击?

我在Archos Titanium 40(os 4.2.2)上使用cocos2d-x v3.3 final。

我已经基于EventListenerTouchAllAtOnce创建了一个测试项目,并且它是相同的。一次只能检测到2个手指。

void    TLayer::onEnter() 
{
    auto L = EventListenerTouchAllAtOnce::create();

    L->onTouchesBegan = CC_CALLBACK_2(TLayer::OnTouchesBegan, this);
    L->onTouchesMoved = CC_CALLBACK_2(TLayer::OnTouchesMoved, this);
    L->onTouchesEnded = CC_CALLBACK_2(TLayer::OnTouchesEnded, this);    
    _eventDispatcher->addEventListenerWithSceneGraphPriority(L, this);
}
void    TLayer::OnTouchesBegan (const vector<Touch *> &touches, Event *event) 
{
    static int      TapCount=0;
    TapCount+;

    CCLOG("onTouchesBegan: TAP: %d", TapCount);
}
void    TLayer::OnTouchesMoved (const vector<Touch *> &touches, Event *event) 
{ 
}
void    TLayer::OnTouchesEnded(const vector<Touch *> &touches, Event *event) 
{
    CCLOG("OnTouchesEnded...");
}

当我启动此样本然后点击3个手指时,日志仅显示2个手指而不是3个:

onTouchesBegan: TAP: 1
onTouchesBegan: TAP: 2
OnTouchesEnded...
OnTouchesEnded...

缺少 TAP:3 。正如我所说,从v3.3 final运行CppTest / Multitouch演示时,我会得到相同的行为。

1 个答案:

答案 0 :(得分:0)

我认为现在我的硬件限制了我。我的2-tap限制不是由于cocos2dx限制。

我有一个项目需要同时处理3个分接头,因此在决定是否将应用程序调整到2个分接头之前,我需要先检测硬件容量。

因此,如果您有一个多点触控项目,请考虑硬件可以限制您,然后再深入开发。感谢

相关问题