[英]Updating nodes in a SpriteKit scene from an outside UIViewController
[英]SpriteKit background added outside of scene
我试图将背景放置在整个场景背景上,但是由于某种原因,它会将其放置在屏幕之外。
这是我使用的:
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];
它是这样写的:
您需要将背景图像添加到SKScene视图中,这样才能根据自身确定坐标。
SKSpriteNode *backgroundNode = [SKSpriteNode spriteNodeWithImageNamed:@"BackgroundImage"];
backgroundNode.position = CGPointMake(self.size.width/2, self.size.height/2);
backgroundNode.zPosition = 1;
[self addChild:backgroundNode];
实际上,问题在于,在新的Xcode 6.3.1中,当您创建新场景时,它会添加某种SKScene视图,该视图比iPhone正常屏幕更大,也许是iPhone 6+屏幕尺寸才是背景图片的原因。超出屏幕范围。 我只需要删除此视图文件,而不必从代码中重新加载它,然后就可以解决了。
不管怎样,上面的评论帮助我理解了这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.