我需要在游戏中为我的场景添加几个滑动手势。据我所知,这只能通过编程方式完成,不幸的是我从来没有用这种方式添加手势,我一直使用IB。我知道我需要初始化一个手势识别器,使用initWithTarget:action:
我知道如何设置其属性,我不知道如何使这个手势做的事情。我假设它是通过动作参数@selector
但似乎永远不会被调用。我做错了吗?这就是我所拥有的:
UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self
action:@selector(animateSwipeRightLeft)];
[self.view addGestureRecognizer:swipeRight];
我的选择器:
-(void)animateSwipeRightLeft {
//do stuff...
}
所以归结为一些相关问题:我是否正确设置了这个问题?如果是这样,为什么我的选择器没有被调用?如果我不能用IB做错,怎么办?
另外,如果有帮助,我的手势会在我的场景的initWithSize方法中设置。
答案 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