在touchEnded事件中使用spritekit,有没有办法确定该事件的触点数?
我想知道触发点的数量(单个,双个,三个 - 一个手指,两个手指或三个手指)用于触发此事件,我将需要根据每种类型执行不同的操作触摸(单点触摸的正常移动,两个手指触摸的双倍速度,以及三个手指触摸的跳跃动作)。
我通过单点触摸实现均匀操作,只需要知道识别多点触控手势,或许还有如何实现它们。
答案 0 :(得分:3)
看起来我只需要做一个
[[event allTouches] count]
实际获得触摸计数。
答案 1 :(得分:1)
您还可以使用UITapGestureRecognizer
并将numberOfTouchesRequired
设置为您想要的手指数。
在你的SKScene:
- (void)didMoveToView:(SKView *)view
{
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTwoFingerTap:)];
tapRecognizer.numberOfTouchesRequired = 2;
[[self view] addGestureRecognizer:tapRecognizer];
}
- (void)handleTwoFingerTap:(UITapGestureRecognizer *)sender
{
if (sender.state == UIGestureRecognizerStateEnded)
{
// your code
}
}