У меня есть два спрайта:Как переместить спрайт в другое положение движущегося спрайта?
var player = SKSpriteNode()
var ball = SKSpriteNode()
И я хочу ball
перейти на player
позицию, хотя игрок также движется слева направо:
var playerMovementRight = SKAction.moveToX(CGRectGetMaxX(self.frame) - playerTexture.size().width/2, duration: 2)
var playerMovementLeft = SKAction.moveByX(-self.frame.size.width + playerTexture.size().width , y: 0, duration: 2)
var playerMovement = SKAction.repeatActionForever(SKAction.sequence([playerMovementRight,playerMovementLeft]))
player.runAction(playerMovement)
Это мой код для перемещения ball
к player
позиция:
var moveBall = SKAction.moveTo(player.position, duration: 0.06)
И наконец, я «отскакиваю» от мяча из экрана с этим кодом:
var ballOut = SKAction.moveTo(CGPointMake(0, self.frame.size.height) , duration: 0.05)
бегаю действия:
var shootBall = SKAction.sequence([moveball,ballOut])
player.runAction(shootBall)
Моя проблема заключается в том, что игрок движется и к тому времени мяч перемещается на позицию игрока игрок находится в другой так что мяч не переместится на «фактическое» положение игрока. Есть ли способ, по которому мяч переходит к фактическому положению игрока, затем «отскакивает» от экрана?
Вы попытались рассчитать, что позиция игрока будет после указанного времени и переместить там спрайт шара? – Mundi
@Mundi no, как я могу это сделать? Вы можете показать пример кода? – Zablah
Как сказал Мунди, вы можете переместить мяч туда, где будет игрок. Но вот что, если ваш игрок может свободно передвигаться, и вам нужно, чтобы мяч «следовал» игроку, тогда это невозможно сделать с действиями. Я не уверен, если вы ищете мяч, чтобы следовать или просто стрелять и забыть. –