我正在尝试在场景背景中定位背景,但出于某种原因,它将其置于屏幕之外。
这就是我使用的:
SKTexture *backgroundTexture = [self.atlas textureNamed:@"back"];
SKSpriteNode *background = [SKSpriteNode spriteNodeWithTexture:backgroundTexture size:self.view.frame.size];
background.position = (CGPoint) {CGRectGetMidX(self.view.frame), CGRectGetMidY(self.view.frame)};
[self addChild:background];
这就是它的含义:
答案 0 :(得分:1)
您需要将背景图像添加到SKScene视图中,并确定自己的坐标。
SKSpriteNode *backgroundNode = [SKSpriteNode spriteNodeWithImageNamed:@"BackgroundImage"];
backgroundNode.position = CGPointMake(self.size.width/2, self.size.height/2);
backgroundNode.zPosition = 1;
[self addChild:backgroundNode];
答案 1 :(得分:0)
实际上问题在于,在新的Xcode 6.3.1中,当你创建一个新场景时,它会添加某种类型的SKScene视图,这个视图比iPhone普通屏幕大,也许它的iPhone 6+屏幕大小,这就是背景图像超出屏幕范围的原因。我只需删除此视图文件,而不是从代码重新加载它然后就可以了。
非常感谢,上面的评论让我明白了这一点。