Я пытаюсь использовать UIGestureRecognizers для перемещения спрайта внутри сцены SpriteKit. Пока он отлично перемещается, но он останавливается, как только я вынимаю палец с экрана. То, что я хочу сделать сейчас, - это перевести конец жестов в движущееся движение стиля на спрайт, чтобы он продолжался в том направлении, в котором я двигал пальцем со степенью силы, основанной на этом движении.Использование UIPanGestureRecognizer для создания спрайта SpriteKit
Вот что у меня есть, что, похоже, работает для горизонтальных движений, но продолжает посылать спрайт в неправильном направлении по оси Y.
if (recognizer.state == UIGestureRecognizerStateEnded) {
CGPoint velocity = [recognizer velocityInView:self.view];
velocity = [self convertPointFromView:velocity];
[touchedNode.physicsBody applyForce:CGVectorMake(velocity.x, velocity.y)];
}
Обновление - немного больше о том, что происходит, когда я прокручиваю в настоящее время. Эффект, создаваемый сковородкой и высвобождением, приводит к тому, что спрайт перемещается в правильном направлении, но с добавленным к нему углом вниз. Проведите по экрану вниз по восходящему движению вперед и вверх, чтобы получить движение вниз.
Обновление 2 - Возможно, этот код слишком прост для достижения того, чего я хочу достичь, и я должен рассчитать, как далеко должен справиться спрайт перед применением силы, поэтому я могу дать ему определенный вектор скорости, основанный на его движениях ?
Это так же просто, как обратить вспять направление y? 'speed.y * -1' –
Это меняет эффект, который я вижу. –
Не верно ли? –