我只是将一个方形节点放在场景上,并使场景的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
非常类似的代码在我的其他游戏中起作用,所以我不确定为什么不会发生碰撞。非常感谢任何帮助,谢谢!
答案 0 :(得分:0)
球的运动必须由物理学引起,而不仅仅是设置位置。通过使用冲动移动球然后使它们与各种物体碰撞来解决这个问题。