我需要在Sprite Kit中绘制一个水平和垂直线条的网格。在纵向模式下,一切都按预期工作。我不知道为什么,但在横向模式下,垂直线之间的空间大于水平线之间的空间。除此之外,垂直线比水平线粗。这是我绘制两条线的方法,每条线都是水平线和垂直线:
CGMutablePathRef path= CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 100.0, 0.0);
CGPathAddLineToPoint(path, NULL, 100.0, 300.0);
SKShapeNode *line = [SKShapeNode node];
line.path = path;
line.strokeColor=[SKColor greenColor];
[self addChild:line];
CGMutablePathRef path2= CGPathCreateMutable();
CGPathMoveToPoint(path2, NULL, 0.0, 100.0);
CGPathAddLineToPoint(path2, NULL, 300.0, 100.0);
SKShapeNode *line2 = [SKShapeNode node];
line2.path = path2;
line2.strokeColor=[SKColor blueColor];
[self addChild:line2];
以下是我在纵向模式下获得的内容:
这是我在横向模式中获得的那个:
如您所见,在纵向模式下,左下角有一个正方形,这意味着水平和垂直线与原点的距离相同。但在横向模式下,情况并非如此,您可以在左下角看到一个矩形。
我还没能在真实设备上测试它。
答案 0 :(得分:1)
您似乎需要更改scene.scaleMode以使用SKSceneScaleModeAspectFill。
SKSceneScaleModeFill,
SKSceneScaleModeAspectFill,
SKSceneScaleModeAspectFit,
SKSceneScaleModeResizeFill