多次滑动触发 Sprite 中的场景转换

Multiple Swipes to trigger Scene Transition in Sprite

正如我现在设置的那样,只需一次滑动即可使用,但如果我添加更多,它不会执行任何操作。如果可能的话,我希望用户必须向左、向右和向上滑动以触发此场景转换。

GameStart.H

    @property (nonatomic, strong) UISwipeGestureRecognizer *leftSwipeGesture;
@property (nonatomic, strong) UISwipeGestureRecognizer *rightSwipeGesture;
@property (nonatomic, strong) UISwipeGestureRecognizer *upSwipeGesture;
@property (nonatomic, strong) UISwipeGestureRecognizer *downSwipeGesture;
@property(nonatomic) BOOL cancelsTouchesInView;

GameStart.m

- (void)didMoveToView:(SKView *)view{
      _cancelsTouchesInView = NO;
    self.leftSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handlesSwipes:)];
    self.rightSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handlesSwipes:)];
    self.upSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handlesSwipes:)];
    self.downSwipeGesture = [[UISwipeGestureRecognizer alloc]initWithTarget:self action:@selector(handlesSwipes:)];

    self.leftSwipeGesture.direction = UISwipeGestureRecognizerDirectionLeft;
    self.rightSwipeGesture.direction = UISwipeGestureRecognizerDirectionRight;
    self.upSwipeGesture.direction = UISwipeGestureRecognizerDirectionUp;
    self.downSwipeGesture.direction = UISwipeGestureRecognizerDirectionDown;


    [self.view addGestureRecognizer:self.leftSwipeGesture];
    [self.view addGestureRecognizer:self.rightSwipeGesture];
    [self.view addGestureRecognizer:self.upSwipeGesture];
    [self.view addGestureRecognizer:self.downSwipeGesture];

}

-(void)handlesSwipes:(UISwipeGestureRecognizer *) sender{

    if (sender.direction == UISwipeGestureRecognizerDirectionLeft && sender.direction == UISwipeGestureRecognizerDirectionRight && sender.direction == UISwipeGestureRecognizerDirectionUp){
        SKTransition *fade = [SKTransition crossFadeWithDuration:.5];
        MyScene * scene = [MyScene sceneWithSize:self.view.bounds.size];
        [self.view presentScene:scene transition:fade];
    } 

成功了 =) 谢谢!

 -(void)handlesSwipes:(UISwipeGestureRecognizer *) sender{

    if (sender.direction == UISwipeGestureRecognizerDirectionLeft){
        _userSwipeLeft = YES;

    }
    if (sender.direction == UISwipeGestureRecognizerDirectionRight){
        _userSwipeRight = YES;

    }
    if (sender.direction == UISwipeGestureRecognizerDirectionUp){
        _userSwipeUp = YES;



    }
    if (_userSwipeUp == YES && _userSwipeRight == YES && _userSwipeLeft == YES){

        SKTransition *fade = [SKTransition crossFadeWithDuration:.5];
        MyScene * scene = [MyScene sceneWithSize:self.view.bounds.size];
        scene.scaleMode = SKSceneScaleModeAspectFill;
        [self.view presentScene:scene transition:fade];
    }

}