这是我的小情况。我正在使用 uipanGesture 移动 ccsprite。我可以四处移动它没问题,而且我在屏幕上有一个可以使用 uitapgesture 拍摄的点。
-(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");
}
我添加了委托方法,所以当我平移时,我可以单击启动按钮:一切正常。
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
return YES;
}
但是,当我不平移而只是使用 uitapgesture 射击时,我无法在射击时平移......我认为它发生的原因是因为它正在注册最后一次点击,
recognizer.state == UIGestureRecognizerStateBegan
因为我没有平移。
任何人都知道我可以点击而不是将点击注册为if (recognizer.state == UIGestureRecognizerStateBegan
我试过如果(location.x < winSize.width/2)
但没有用。