UIPanGestureRecognizer в SKScene
экспериментировал сUIGestureRecognizers
и новыйSKScene/SKNode's
вSpriteKit
, Я'У меня была одна проблема, и я был близок к ее решению, но я запутался в одном. По сути, у меня есть распознаватель жестов панорамирования, который позволяет пользователю перетаскивать спрайт на экран.
Единственная проблема, с которой я столкнулся, заключается в том, что для инициализации жеста панорамирования требуется ОДИН тап, а затем только во ВТОРОМ касании он работает правильно. Я'Я думаю, что это потому, что мой жест панорамирования инициализируется вtouchesBegan
, Тем не менее, я нене знаю, куда еще его поместить, так как инициализировал его в SKSceneinitWithSize
метод остановил распознавание жестов от фактической работы.
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
if (!self.pan) {
self.pan = [[UIPanGestureRecognizer alloc]initWithTarget:self action:@selector(dragPlayer:)];
self.pan.minimumNumberOfTouches = 1;
self.pan.delegate = self;
[self.view addGestureRecognizer:self.pan];
}
}
-(void)dragPlayer: (UIPanGestureRecognizer *)gesture {
CGPoint trans = [gesture translationInView:self.view];
SKAction *moveAction = [SKAction moveByX:trans.x y:-trans.y duration:0];
[self.player runAction:move];
[gesture setTranslation:CGPointMake(0, 0) inView:self.view];
}