我将此图像作为SKSpriteNode:
此图片的尺寸为394px X 347px。
在代码的稍后部分,我将在带有图像的SKSpriteNode上通过bodyWithPolygonFromPath函数添加物理物体。
我给出的路径是:
CGMutablePathRef shipPath = CGPathCreateMutable();
CGPathMoveToPoint(shipPath, NULL, 0,0);
CGPathAddLineToPoint(shipPath, NULL, 0,347);
CGPathAddLineToPoint(shipPath, NULL, 394, 347);
CGPathAddLineToPoint(shipPath, NULL, 394, 0);
CGPathCloseSubpath(shipPath);
该路径应精确地沿着宇宙飞船图像周围的正方形形式描绘物理路径,以检测从上方坠落的岩石的共谋。
这是程序输出:
下一个屏幕截图解释了该问题:
我要去哪里错了?我希望我已经很好地解释了这个问题。
最佳答案
在SpriteKit中,精灵具有默认的坐标系,其中(0,0)是中心,尽管SKScene具有默认的坐标系,其中(0,0)是左下角。您可以通过调整Sprite的anchorPoint
属性来更改此设置。
关于ios - 与Sprite Kit的bodyWithEdgeLoopFromPath坐标系混淆,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22127839/