定位具有SKSceneScaleModeAspectFit的SKView / SKScene?

时间:2014-02-21 13:46:24

标签: ios objective-c sprite-kit skscene skview

我正在使用SKView的基本设置来显示SKScene。 SKScene具有预定义的大小并使用缩放模式SKSceneScaleModeAspectFit:

- (void)viewDidLoad {
    [super viewDidLoad];
    SKView *skView = (SKView *)self.view;
    SKScene *scene = [MyScene sceneWithSize:CGSizeMake(320, 480)];
    scene.scaleMode = SKSceneScaleModeAspectFit;
    [skView presentScene:scene];
}

正如预期的那样,在iPhone 5上,这会导致信箱,即我场景上方和下方的黑色部分。在iPad上,letterboxing会在场景的左侧和右侧产生黑色条纹。

然而,我想定位场景,例如在iPhone 5上,使场景与屏幕底部对齐,同时所有黑色空间都位于场景上方。这可能吗?

我已经尝试了很多与.frame .center .origin等SKView / SKScene等属性相关的东西,但似乎无法移动'显示区'。例如,添加

[scene runAction:[SKAction moveTo:CGPointMake(0,-44) duration:0]];

将场景的内容移动到显示区域内,但不移动区域本身。

有什么想法吗?

0 个答案:

没有答案