Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 多次滑动以触发Sprite中的场景过渡_Ios_Objective C_Sprite Kit_Uigesturerecognizer - Fatal编程技术网

Ios 多次滑动以触发Sprite中的场景过渡

Ios 多次滑动以触发Sprite中的场景过渡,ios,objective-c,sprite-kit,uigesturerecognizer,Ios,Objective C,Sprite Kit,Uigesturerecognizer,我现在已经设置好了,只需一次轻扫就可以了,但如果我再加一次,就什么也做不了了。如果可能的话,我希望用户必须向左、向右和向上滑动才能触发此场景转换 游戏开始 @property (nonatomic, strong) UISwipeGestureRecognizer *leftSwipeGesture; @property (nonatomic, strong) UISwipeGestureRecognizer *rightSwipeGesture; @property (nonatomi

我现在已经设置好了,只需一次轻扫就可以了,但如果我再加一次,就什么也做不了了。如果可能的话,我希望用户必须向左、向右和向上滑动才能触发此场景转换

游戏开始

    @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];
    }

}