Android Cocos2d-x多点触控操作系统
上面的代码获取两个接触点,并在它们之间添加一个闪电精灵。它在Android上运行得非常完美,但在iOS上,它有时会混淆位置1和位置2。如果我像“疾驰”一样缓慢地应用这两个触碰,它在iOS上会起作用。为什么会这样。这让我困惑了一个星期左右。任何信息都很好 你找到解决办法了吗?什么是“疾驰”,如何在iOS上应用?Android Cocos2d-x多点触控操作系统,android,c++,ios,multi-touch,cocos2d-x,Android,C++,Ios,Multi Touch,Cocos2d X,上面的代码获取两个接触点,并在它们之间添加一个闪电精灵。它在Android上运行得非常完美,但在iOS上,它有时会混淆位置1和位置2。如果我像“疾驰”一样缓慢地应用这两个触碰,它在iOS上会起作用。为什么会这样。这让我困惑了一个星期左右。任何信息都很好 你找到解决办法了吗?什么是“疾驰”,如何在iOS上应用? CCSetIterator iter = touches->begin(); for (; iter != touches->end(); iter++)
CCSetIterator iter = touches->begin();
for (; iter != touches->end(); iter++)
{
CCTouch* touchPoint = (CCTouch*)(*iter);
if(touchPoint->getID()==0)
{
CCLog("TOUCH_1");
location1 = touchPoint->getLocationInView();
location1 = CCDirector::sharedDirector()->convertToGL(location1);
}
if(touchPoint->getID()==1)
{
CCLog("TOUCH_2");
location2 = touchPoint->getLocationInView();
location2 = CCDirector::sharedDirector()->convertToGL(location2);
CCSprite* lightning = CCSprite::create("lightningFrame_0.png");
lightning->setScale(.4);
lightning->setPosition(ccp((location1.x+location2.x)/2,(location1.y+location2.y)/2));
lightning->setScaleX(ccpDistance(location1,location2)/1920);
this->addChild(lightning,0,0);
float angleRad = atanf((location2.y-location1.y)/(location2.x-location1.x));
float angleDeg = CC_RADIANS_TO_DEGREES(angleRad);
lightning->setRotation(-angleDeg);
addBoxBodyForSprite(lightning);
CCAction* removeChild = CCCallFuncN::create(this,callfuncN_selector(HelloWorld::spriteDone));
CCAction* fadeAway = CCFadeOut::create(.5);
lightning->runAction(CCSequence::create(animInt.lightningAnimation(), removeChild ,NULL));
lightning->runAction(fadeAway);
}
}