下面的代码创建了一个SKShapeNode (self.tiles)。
CGMutablePathRef path = CGPathCreateMutable();
.... //Some stuff that creates a path
self.tiles = [SKShapeNode node];
[self addChild:self.tiles];
self.tiles.path = path;
self.tiles.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:path];但是,似乎创建的物理体与在screen.The SKShapeNode上创建的形状不一致,这正是我希望它出现在屏幕上的地方(视觉)。
我不知道物理体到底在哪里。
如何使SKShapeNode SKPhysicsBody**?**和对齐?
发布于 2014-03-17 09:33:26
这是给其他可能难以理解的人:
一个精灵的锚点,是这个精灵的孩子的局部坐标系统开始的地方。因此,如果锚点是sprite的中心,那么子节点的(0,0)对应于父sprite的中心。
在CGRect的情况下,通常会指定CGRect的起源(作为rect的左下角),然后指定维度。
由于您可能正在使用SKShapeNode或SKPhysicsBody椭圆或矩形创建一个CGRect,因此您应该对其进行偏移,因此rect的中心与精灵体的中心相匹配,因此形状和物理体处于预期位置。
https://stackoverflow.com/questions/20279375
复制相似问题