物理学不检测碰撞

时间:2015-01-24 19:29:19

标签: ios swift sprite-kit skphysicsbody skscene

我只是将一个方形节点放在场景上,并使场景的physicsBody成为屏幕的边缘。我打开物理视图,这样你就可以看到所有物理学的东西。广场周围有一个物理体,场景的边界也是如此。然而,当广场进入边界时,没有任何反应。广场直接通过。以下是我初始化方块的方法:

let rect1 = CGRect(x: 100, y: 100, width: 50, height: 50)
        let square = Square(rect: rect1)
        square.fillColor = UIColor.blackColor()
        square.zPosition = 200
        square.physicsBody = SKPhysicsBody(edgeLoopFromRect: rect1)
        square.physicsBody?.allowsRotation = false
        square.physicsBody?.affectedByGravity = false
        square.physicsBody?.restitution = 0.4
        self.addChild(square)

以下是我为场景初始化物理体的方法:

let physicsBody = SKPhysicsBody(edgeLoopFromRect: view.bounds)
self.physicsBody = physicsBody

非常类似的代码在我的其他游戏中起作用,所以我不确定为什么不会发生碰撞。非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

球的运动必须由物理学引起,而不仅仅是设置位置。通过使用冲动移动球然后使它们与各种物体碰撞来解决这个问题。