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