2016-04-09 26 views
0

Şimdi kurduğum gibi, tek bir kaydırma ile çalışıyor ancak daha fazlasını eklersek hiçbir şey yapmıyor. Mümkünse, kullanıcının bu sahne geçişini tetiklemek için sola, sağa ve yukarı kaydırması gerekir.Sprite'de Sahne Geçişini tetiklemek için Birden Fazla Döndürme

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

Bu hile yaptı
- (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]; 
    } 

cevap

0

=) teşekkür ederiz!

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

} 
İlgili konular