2015-04-13 2 views
0

У меня есть SKSpriteNode, который является мячом. У моего взгляда нет силы тяжести. Я могу переместить мяч, нажимая на него импульс в начале, и я хочу, чтобы он переместился в точку касания пользователя, в которую мы можем попасть - (void) touchsBegan: (NSSet *) касается объекта: (UIEvent *), не влияя на его движение.Переместите SKSpriteNode на фактическую точку касания в ios Game

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 

    for (UITouch *touch in touches) 
     { 
      CGPoint location = [touch locationInView:self.view]; 
      SKAction *moveToPoint = [SKAction moveByX:location.x y:location.y duration:2]; 

      [ball runAction:moveToPoint]; 
     } 
} 

Не похоже, что он работает. Помогите мне, ребята.

+0

Вместо moveByX: у: длительность использования MoveTo: продолжительность – ZeMoon

ответ

1

Если вы хотите отправить узел непосредственно в точку с помощью метода:

[SKAction moveTo:location duration:2]; 

Метод SKAction moveBy: перемещает узел по х и у значений, предусмотренных, в то время как метод moveTo до точки в узла родитель.

РЕДАКТИРОВАТЬ:

Кроме того, изменить строку:

CGPoint location = [touch locationInView:self.view]; 

к

CGPoint location = [touch locationInNode:self]; 

UIView имеет другую систему координат, чем SKScene.

EDIT 2: Вы можете удалить аффект физики в то время как прикосновение существует

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 

    for (UITouch *touch in touches) 
     { 
      ball.physicsBody.dynamic = NO; 

      CGPoint location = [touch locationInNode: self]; 
      SKAction *moveToPoint = [SKAction moveTo:location duration:2]; 

      [ball runAction:moveToPoint]; 
     } 
} 

-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { 
    ball.physicsBody.dynamic = YES; 
} 
+0

Болл не движется на ощупь точки он движется в сторону где-то в другом месте. Также ваш код влияет на движущийся путь шара. –

+0

Хорошо, так что мяч находится под физическим моделированием? – ZeMoon

+0

Проверьте правильность – ZeMoon

Смежные вопросы