Как заставить игровой узел стоять после прыжка в SpriteKit? - PullRequest
0 голосов
/ 30 октября 2019

Я создаю физическое тело для игрока (орка) из текстуры.

player.physicsBody = SKPhysicsBody(texture: player.texture!, size: player.texture!.size())
player.physicsBody?.isDynamic = true
player.physicsBody?.usesPreciseCollisionDetection = true
player.physicsBody?.categoryBitMask = CollisionCategoryBitmask.Player
player.physicsBody?.collisionBitMask = 1
player.physicsBody?.restitution = 0
player.physicsBody?.friction = 1
ground?.physicsBody?.restitution = 0

enter image description here

и действие прыжка создается путем применения импульса

 func jumpPlayer(){
    player.physicsBody?.applyImpulse(CGVector(dx: 0, dy: 60))
 }

После прыжка один раз приземлился игрокузел, кажется, вышел из равновесия и падает вниз.

enter image description here

Как этого избежать?

1 Ответ

0 голосов
/ 30 октября 2019

Это можно исправить, установив allowRotation false

player.physicsBody?.allowsRotation = false
...