在我的SKScene
课程中,我在游戏中有几个基于纹理的物理实体,例如:
object1.physicsBody = SKPhysicsBody(texture: SKTexture(imageNamed: "object_name1"), size: CGSize(width: 113, height: 107))
object2.physicsBody = SKPhysicsBody(texture: SKTexture(imageNamed: "object_name2"), size: CGSize(width: 113, height: 65))
等
我也有基于矩形的物理实体,例如:
object3.physicsBody = SKPhysicsBody(rectangleOf: object3.size)
object4.physicsBody = SKPhysicsBody(rectangleOf: object4.size)
等
我已将游戏边界定义如下:
self.physicsBody = SKPhysicsBody(edgeLoopFrom: CGRect(x: frame.origin.x, y: frame.origin.y, width: frame.width, height: frame.height))
我已为每个对象(SKSpriteNode
)设置了所有适当的物理属性。
我遇到的问题是基于纹理的物理体在移动时会超出游戏边界,并且可能会脱离场景,但基于矩形的物体仍然受到边界的限制(如预期的那样)。 / p>
任何想法为什么?