首页 > 解决方案 > 使用带有 SKShapenode 线的 PhysicsBody。斯威夫特,iOS,SpriteKit

问题描述

我需要使用 ShapeBody 添加简单的线条进行交互。我正在尝试下面的代码,Xcode 给了我下一个响应:

PhysicsBody:无法创建物理实体。

        let testPath = UIBezierPath()
        testPath.move(to: CGPoint(x:-100, y: 200))
        testPath.addLine(to: CGPoint(x:100, y: 200))

        let testShape = SKShapeNode()
        testShape.path = testPath.cgPath
        testShape.position = CGPoint(x:0, y:250)
        testShape.zPosition = 5
        testShape.lineWidth = 5
        testShape.strokeColor = .red
        testShape.physicsBody = SKPhysicsBody(polygonFrom: testPath.cgPath)

标签: iosswiftsprite-kitskphysicsbodyskshapenode

解决方案


使用 edgeChainFrom 而不是 polygonFrom,它可以工作!

testShape.physicsBody = SKPhysicsBody(edgeChainFrom: testPath.cgPath)

推荐阅读