我正在使用缩放模式填充来加载大小为640x1136的背景场景,如下所示:
SKView * skView = (SKView *)self.view;
skView.ignoresSiblingOrder = YES;
MainMenu *scene = [MainMenu sceneWithSize: self.view.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;
[skView presentScene:scene];
然后我在屏幕内加载背景:
SKSpriteNode *menuBg = [SKSpriteNode spriteNodeWithImageNamed:@"mainBg"];
menuBg.anchorPoint = CGPointZero;
menuBg.position = CGPointZero;
[self addChild:menuBg];
我希望backgorund能够填满屏幕,但不会调整大小以填满屏幕。我只持有@ 2x背景图片 - 我做错了什么?
答案 0 :(得分:2)
您没有将节点定位在场景的中心,因此使用Aspect Fill scalemode无法正确缩放。
请改为尝试:
menuBg.anchorPoint = CGPointMake(0.5, 0.5);
menuBg.position = CGPointMake(self.size.width/2, self.size.height/2)
它会将锚点设置到节点的中心,并将节点定位在场景的中心。