РЕШЕНО: Предотвратить наклон Sprite при столкновении? - PullRequest
0 голосов
/ 26 мая 2020

Как я могу предотвратить наклон двух спрайтовых узлов при столкновении. Допустим, у меня есть длинный прямоугольник с PhysicsBody 1 и короткий прямоугольник с PhysicsBody 2. Я хочу, чтобы эти 2 ударились, но не хочу, чтобы длинный прямоугольник наклонялся после столкновения, но все еще стоял прямо. Как я могу этого добиться? Это код для длинного прямоугольника:

thePlayer.position = CGPoint(x: 100 - self.frame.size.width/2, y: 100 - self.frame.size.height/2)
thePlayer.physicsBody = SKPhysicsBody(rectangleOf: CGSize(width: 40, height: 40))
thePlayer.physicsBody?.categoryBitMask = gamePhysics.Player
thePlayer.physicsBody?.collisionBitMask = gamePhysics.Wall
thePlayer.physicsBody?.contactTestBitMask = gamePhysics.Wall
thePlayer.physicsBody?.isDynamic = true
thePlayer.physicsBody?.affectedByGravity = false

Это код для короткого прямоугольника:

tileNode.position = CGPoint(x: x, y: y)
tileNode.physicsBody = SKPhysicsBody.init(rectangleOf: tileSize, center: CGPoint(x: tileSize.width / 2.0, y: tileSize.height / 2.0))
tileNode.physicsBody?.categoryBitMask = gamePhysics.Wall
tileNode.physicsBody?.collisionBitMask = gamePhysics.Player
tileNode.physicsBody?.contactTestBitMask = gamePhysics.Player
tileNode.physicsBody?.isDynamic = false

1 Ответ

0 голосов
/ 26 мая 2020

Как упоминал New Dev, решение простое. Я добавил node.physicsBody? .AllowsRotation = false, и он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...