Cocos2d iphone KKInput PanningiPhone倾斜时给出错误值的手势
我正在使用kobold2d的KKInput,使用平移手势识别器进行拖放操作。当iphone平放在桌子上时,它工作得很好,但如果我将手机朝我倾斜,翻译似乎完全错误,不再正常工作,事实上,我认为我的iphone好像是颠倒的 我做错什么了吗 示例代码:Cocos2d iphone KKInput PanningiPhone倾斜时给出错误值的手势,cocos2d-iphone,kobold2d,Cocos2d Iphone,Kobold2d,我正在使用kobold2d的KKInput,使用平移手势识别器进行拖放操作。当iphone平放在桌子上时,它工作得很好,但如果我将手机朝我倾斜,翻译似乎完全错误,不再正常工作,事实上,我认为我的iphone好像是颠倒的 我做错什么了吗 示例代码: if([input gesturePanBegan]) { for( CCSprite* item in self.View.children ) { bool result = [inp
if([input gesturePanBegan])
{
for( CCSprite* item in self.View.children )
{
bool result = [input isAnyTouchOnNode:item touchPhase: KKTouchPhaseAny];
if (result)
{
itemPanning = item;
originalPostion = item.position;
}
}
CCLOG(@"%f y translation %f x translation", input.gesturePanTranslation.y , input.gesturePanTranslation.x);
if(itemPanning != NULL)
{
[itemPanning setPosition:ccp(input.gesturePanTranslation.x + originalPostion.x, originalPostion.y)];
if(input.gesturePanTranslation.x > 70)
{
[View Select: [itemPanning tag]];
SelectAttackCommand * command = [SelectAttackCommand new];
command.SelectedAttack = [itemPanning tag];
itemPanning = NULL;
NOTIFY(command);
}
}
}
else if(![input gesturePanBegan] && itemPanning != NULL)
{
itemPanning = NULL;
[View Open];
}
这是一个答案,但可能不是最好的答案。在KKINPUTSISTER中,在HandlePanesture下,平移值的计算如下: 手势翻译=[panRecognizer TranslationView:glView]; 手势翻译=[自我转换相对点:手势翻译] 这里的第二个调用根据设备的方向转换一个值。在某些情况下,这可能是好的,但在我的情况下,它是不需要的,所以我把它注释掉了,现在我的翻译值总是正确的,无论我如何倾斜IPhone
不过,我可能在这里遗漏了一些东西,所以我现在还不想将此标记为答案。这是一个答案,但可能不是最好的答案。在KKINPUTSISTER中,在HandlePanesture下,平移值的计算如下: 手势翻译=[panRecognizer TranslationView:glView]; 手势翻译=[自我转换相对点:手势翻译] 这里的第二个调用根据设备的方向转换一个值。在某些情况下,这可能是好的,但在我的情况下,它是不需要的,所以我把它注释掉了,现在我的翻译值总是正确的,无论我如何倾斜IPhone
不过,我可能在这里遗漏了一些东西,所以我现在还不想把它作为答案。我已经注释掉了手势翻译--=[self-converterrelativepointtogl:gesturepantransation];--它仍然不能解决我同样的问题。。。哈?倾斜的手机还是会破坏你的平移?是的。我想这可能是我如何根据pan对对象进行更改的问题。请参阅:如果您想提供帮助,我已经注释掉了手势翻译--=[self-convertRelativePointToGL:gesturePanTranslation];--它仍然不能解决我同样的问题。。。哈?倾斜的手机还是会破坏你的平移?是的。我想这可能是我如何根据pan对对象进行更改的问题。看:如果你想帮忙的话。