我正在尝试为一个精灵节点创建一个物理体,该物理体仅用于精灵节点的轮廓。为此,我尝试使用edgeLoopFromRect。然而,当我尝试这样做时,物理体与精灵节点的位置不匹配。例如,精灵节点将位于屏幕中心,而其物理体将位于屏幕的顶角(见图片-物理体的轮廓仅显示角落,因为一些内容超出了屏幕)。我想使用这个来创建游戏区域的轮廓,它将作为对象接触的边界,以便在游戏结束时使用。
这是我的代码:
为什么位置偏差这么大?我做错了什么?这是否是为游戏区域设置物理体轮廓的正确方法?谢谢!:D
//Physic Body Outline Test
let screenS = SKSpriteNode(imageNamed: "TestImage")
screenS.size = CGSize(width: 100, height: 100)
screenS.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
screenS.physicsBody = SKPhysicsBody(edgeLoopFrom: screenS.frame)
screenS.physicsBody!.affectedByGravity = false
self.addChild(screenS)
为什么位置偏差这么大?我做错了什么?这是否是为游戏区域设置物理体轮廓的正确方法?谢谢!:D