如何向skView添加手势?

时间:2014-06-18 22:02:43

标签: ios sprite-kit uigesturerecognizer

我需要在游戏中为我的场景添加几个滑动手势。据我所知,这只能通过编程方式完成,不幸的是我从来没有用这种方式添加手势,我一直使用IB。我知道我需要初始化一个手势识别器,使用initWithTarget:action:我知道如何设置其属性,我不知道如何使这个手势做的事情。我假设它是通过动作参数@selector但似乎永远不会被调用。我做错了吗?这就是我所拥有的:

UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self
                                        action:@selector(animateSwipeRightLeft)];
[self.view addGestureRecognizer:swipeRight];

我的选择器:

-(void)animateSwipeRightLeft {

    //do stuff...
}

所以归结为一些相关问题:我是否正确设置了这个问题?如果是这样,为什么我的选择器没有被调用?如果我不能用IB做错,怎么办?

另外,如果有帮助,我的手势会在我的场景的initWithSize方法中设置。

1 个答案:

答案 0 :(得分:0)

您应该使用SKScene的{​​{1}}方法添加手势识别器。

didMoveToView

- (void)didMoveToView:(SKView *)view { UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(animateSwipeRightLeft)]; [self.view addGestureRecognizer:swipeRight]; } self.view方法中的nil