SpriteKit SKSpriteNode se mueve

Tengo algunas texturas …

placeForJump = SKSpriteNode(imageNamed: "placeForJump") placeForJump.position = CGPoint(x: 512.346, y: 98.88) placeForJump.size = CGSize(width: 166.407, height: 197.762) placeForJump.zPosition = 2 self.addChild(placeForJump) 

y personaje …

 player = SKSPriteNode(imageNamed: "character") player.position... player.size... player.zPozition = 3 self.addChild(player) 

Cuando toco la textura donde puedo saltar, quiero que mi personaje salte sobre este lugar, pero no sé cómo hacerlo.

Cuando toco la textura con placeForJump, mi personaje salta sobre ella.

Por favor ayuda.

Puede hacer esto detectando un toque en el lugar para saltar y luego, cuando el usuario lo toca, puede ejecutar una acción para mover el personaje allí.

Para detectar si el usuario toca el lugar para saltar, puede agregar este código a las funciones touchesBegan o touchesEnded:

 for touch in touches { let location = touch.locationInNode(self) if placeForJump.containsPoint(location) { print("It was touched") } } 

Luego, para ejecutar una acción en el lugar, querrás usar una SKAction así:

 player.runAction(SKAction.moveTo(placeForJump.position, duration: speed) 

Esto moverá el nodo del jugador a placeForJump de la manera más breve posible, así que si quieres que sea más alto y luego al lugar, puedes hacerlo así:

 let highPoint = CGPoint(x: player.position.x + 50, y: player.position.y + 100) let moveUp = SKAction.moveTo(highPoint, duration: speed) let moveDown = SKAction.moveTo(placeForJump.position, duration: speed) player.runAction(SKAction.sequence([moveUp, moveDown]) 

Espero que esto ayude