這是我的小情況。我正在使用uipanGesture移動一個ccsprite。我可以將它全部移到沒有問題的位置,並且我可以使用uitapgesture拍攝屏幕上的一個點。UIPanGestureRecognizer和UITapGestureRecognizer同時
-(void)handleTap:(UITapGestureRecognizer *)recognizer{
CGPoint location = [recognizer locationInView:recognizer.view];
location = [[CCDirector sharedDirector]convertToGL:location];
location = [self convertToNodeSpace:location];
if (location.x > winSize.width * .6 && location.y <winSize.height/2) {
NSLog(@"fire");
}
我添加了委託方法,所以當我平移時,我可以點擊fire按鈕:一切正常。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
但是,當我不平移和只使用uitapgesture射擊,當我燒我無法平移...我認爲這正在發生的原因是因爲它的註冊最後自來水作爲 recognizer.state == UIGestureRecognizerStateBegan
自我不是在搖擺。
任何人知道一種方法,我可以挖掘,而不是註冊水龍頭作爲if (recognizer.state == UIGestureRecognizerStateBegan
如果(location.x < winSize.width/2)
,但它沒有工作,我試過。
我們可以看到你創建的手勢? –
我在這個例子中創建了兩個地方,我在init中創建了它,但是我之前在應用程序委託中創建了它們。 – ifrapps