В настоящее время я пытаюсь справиться с обработкой коллизий в Xcode 11 (iOS 13).Моя проблема в том, что даже пример кода Apple не работает для меня.(https://developer.apple.com/documentation/spritekit/skphysicsbody/about_collisions_and_contacts)
Пример кода от Apple:
import SpriteKit
import GameplayKit
class GameScene: SKScene {
override func didMove(to view: SKView) {
let ballRadius: CGFloat = 20
let redBall = SKShapeNode(circleOfRadius: ballRadius)
redBall.fillColor = .red
redBall.position = CGPoint(x: 280, y: 320)
redBall.physicsBody = SKPhysicsBody(circleOfRadius: ballRadius)
let blueBall = SKShapeNode(circleOfRadius: ballRadius)
blueBall.fillColor = .blue
blueBall.position = CGPoint(x: 360, y: 320)
blueBall.physicsBody = SKPhysicsBody(circleOfRadius: ballRadius)
var splinePoints = [CGPoint(x: 0, y: 300),
CGPoint(x: 100, y: 50),
CGPoint(x: 400, y: 110),
CGPoint(x: 640, y: 20)]
let ground = SKShapeNode(splinePoints: &splinePoints,
count: splinePoints.count)
ground.physicsBody = SKPhysicsBody(edgeChainFrom: ground.path!)
ground.physicsBody?.restitution = 0.75
redBall.physicsBody?.collisionBitMask = 0b0001
blueBall.physicsBody?.collisionBitMask = 0b0010
ground.physicsBody?.categoryBitMask = 0b0001
}
override func update(_ currentTime: TimeInterval) {
// Called before each frame is rendered
}
}
Когда я запускаю код, оба шара сталкиваются с кривой.
Есть ли что-то, что я сделал неправильно илиЕсть ли в SpriteKit обновленная функциональность, о которой я не знаю?
Спасибо за помощь!