Обработка столкновений не работает в iOS 13 - PullRequest
0 голосов
/ 28 сентября 2019

В настоящее время я пытаюсь справиться с обработкой коллизий в 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 обновленная функциональность, о которой я не знаю?

Спасибо за помощь!

1 Ответ

0 голосов
/ 29 сентября 2019

Я создал новый проект XCode и вставил код из вопроса, и он в итоге сработал.

Я не знаю, какой из файлов проекта вызывал проблему.

Спасибо запомощь!

...