SKScene 边界和定位
SKScene bounds and positioning
我正在尽最大努力利用我的 "responsive" / "adaptive" 知识将其应用到我的 SKScene
.
定位中
但是,似乎有问题。由于场景的宽度/高度不准确。
在此示例中,视图的锚点是中心点,即 0.5、0.5。
SKLabelNode *label = [SKLabelNode labelNodeWithText:@"Welcome to the table..."];
label.position = CGPointMake(0,0);
label.alpha = 0;
[self addChild:label];
现在让我们说,我想把它移到屏幕底部。我使用屏幕大小调整逻辑,因此我可以将其应用于每个设备。
label.position = CGPointMake(0, self.view.frame.height/2 + label.frame.height);
据我所知,它应该将 X 与锚点对齐,然后从锚点减去 y。所以 CenterPoint - 半屏幕高度 + 标签高度.. 然而,事实并非如此。它在屏幕外某处无法正常工作。
我也用 self.frame.size.height
& self.view.bounds.size.height
试过了
听起来您的 SKScene
的大小与其 SKView
的大小不匹配。尝试将场景的 scaleMode
设置为 ResizeFill
。来自 SKScene
documentation on ResizeFill
:
The scene is not scaled to match the view. Instead, the scene is automatically resized so that its dimensions always match those of the view.
我正在尽最大努力利用我的 "responsive" / "adaptive" 知识将其应用到我的 SKScene
.
但是,似乎有问题。由于场景的宽度/高度不准确。
在此示例中,视图的锚点是中心点,即 0.5、0.5。
SKLabelNode *label = [SKLabelNode labelNodeWithText:@"Welcome to the table..."];
label.position = CGPointMake(0,0);
label.alpha = 0;
[self addChild:label];
现在让我们说,我想把它移到屏幕底部。我使用屏幕大小调整逻辑,因此我可以将其应用于每个设备。
label.position = CGPointMake(0, self.view.frame.height/2 + label.frame.height);
据我所知,它应该将 X 与锚点对齐,然后从锚点减去 y。所以 CenterPoint - 半屏幕高度 + 标签高度.. 然而,事实并非如此。它在屏幕外某处无法正常工作。
我也用 self.frame.size.height
& self.view.bounds.size.height
听起来您的 SKScene
的大小与其 SKView
的大小不匹配。尝试将场景的 scaleMode
设置为 ResizeFill
。来自 SKScene
documentation on ResizeFill
:
The scene is not scaled to match the view. Instead, the scene is automatically resized so that its dimensions always match those of the view.