【发布时间】:2015-05-19 14:38:28
【问题描述】:
您好,我正在尝试在我的精灵套件游戏中使用手势识别器,我编写了这段代码
@interface GameScene() <UIGestureRecognizerDelegate>{
UISwipeGestureRecognizer *swipeGestureLeft;
ISwipeGestureRecognizer *swipeGestureRight;
}
@end
@implementation GameScene
-(id)initWithSize:(CGSize)size{
if(self = [ super initWithSize:size]){
}
return self;
}
-(void)didMoveToView:(SKView *)view{
swipeGestureLeft = [[UIGestureRecognizer alloc]initWithTarget:self action:@selector(swipeLeft)];
[swipeGestureLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[view addGestureRecognizer:swipeGestureLeft];
swipeGestureRight = [[UIGestureRecognizer alloc]initWithTarget:self action:@selector(swipeRight)];
[swipeGestureRight setDirection:UISwipeGestureRecognizerDirectionRight];
[view addGestureRecognizer:swipeGestureRight];
}
- ( void ) willMoveFromView: (SKView *) view {
[view removeGestureRecognizer: swipeGestureLeft ];
[view removeGestureRecognizer: swipeGestureRight];
}
-(void)swipeLeft:(UISwipeGestureRecognizer*) recognizer{
NSLog@"Left"'
}
-(void)swipeRight:(UISwipeGestureRecognizer*) recognizer{
NSLog@"Right"'
}
@end
我认为一切正常,但我的手势不起作用,我没有错误消息,是否缺少某些内容我应该添加到我的应用程序中,或者我应该添加一些内容到我的视图控制器,或者你可以伙计们建议我一个 totorial 向我展示如何使用 sprite kit 手势,
【问题讨论】:
-
为什么要删除 GestureRecognizer?有必要吗?
-
@LinusG。我猜是因为场景转换。那些 swipeRight 和 swipeLeft 方法是在那个场景中定义的。并且场景转换后识别器不会被移除,所以应用会崩溃。
标签: objective-c xcode6 sprite-kit uigesturerecognizer