在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演示时,我会得到相同的行为。
答案 0 :(得分:0)
我认为现在我的硬件限制了我。我的2-tap限制不是由于cocos2dx限制。
我有一个项目需要同时处理3个分接头,因此在决定是否将应用程序调整到2个分接头之前,我需要先检测硬件容量。
因此,如果您有一个多点触控项目,请考虑硬件可以限制您,然后再深入开发。感谢