ios - 如何在 SpriteKit 中为场景制作边框

标签 ios objective-c swift sprite-kit skscene

我正在尝试为场景中的两侧制作边框,但出现某种错误,这是我使用的代码

let leftEdge : SKNode = SKNode()
            leftEdge.physicsBody = SKPhysicsBody(edgeFromPoint: CGPointZero, toPoint: CGPointMake(0.0, self.size.height + 100))

            leftEdge.position = CGPointZero;

            self.addChild(leftEdge)

            let rightEdge : SKNode = SKNode()
            rightEdge.physicsBody = SKPhysicsBody(edgeFromPoint: CGPointZero, toPoint: CGPointMake(0.0, self.size.height + 100))
            rightEdge.position = CGPointMake(self.size.width, 0.0);

            self.addChild(rightEdge)

但是顶部边框和底部边框有边框,两侧似乎在场景外有边框,因为我朝它们射击物体,它离开场景并返回,所以问题是我如何只制作边框左右两侧

最佳答案

试试这个

let border = SKPhysicsBody(edgeLoopFrom: self.frame)
    border.friction = 0
    border.restitution = 1
    self.physicsBody = border

显然,您可以将自己的物理添加到边界。

关于ios - 如何在 SpriteKit 中为场景制作边框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31852719/

相关文章:

iOS 应用程序不断崩溃,但在现场测试中运行良好

swift - 继承 SLKTextViewController

ios - 检查用户是否存在于 Firebase 中不起作用 - Swift

ios - CITemperatureAndTint 和 CIToneCurve 不起作用

ios - 奇怪的底层灰色轮廓 View 试图以编程方式解雇 UISplitViewController 的主人

objective-c - 从另一个类访问变量

ios - 使用UITableView动态显示NSManagedObject的各个属性

ios - iOS 13 Core Data 持久化存储迁移过程中出现错误

ios - 从另一个 Viewcontroller 获取 ibeacon major 和 minor id

ios - Swift if/else 语句中的预期声明