问题描述
我有我的 SKScene,但由于某种原因,它没有显示所有的孩子,只是其中的一些。唯一显示的子项是用于显示背景图像的子项以及出现 image of rectangle outline 位于锚点 (0.5,0.5) 处的 while 矩形轮廓(我是堆栈的新手)。节点数只显示三个,但我添加了这些孩子:(levelbg 用于背景图像 abd 我已经设置了 zpositon 以确保它位于所有内容的底部,我还尝试清除派生数据。我想知道是否有人可以提供帮助我谢谢你(并为代码道歉,我这样做是为了了解更多关于 spritekit 的信息)_
//levelbg
levelBg.zPosition = 0.0
levelBg.position = CGPoint(x:frame.minX,y:frame.minY)
levelBg.anchorPoint = CGPoint(x: 0.0,y: 0.0)
self.addChild(levelBg);
//sword button
swordButton.zPosition = 1.0;
swordButton.position = CGPoint(x: frame.maxX - 200,y: 530);
swordButton.run(SKAction.sequence([waitFade,moveItem,fadeIn]));
self.addChild(swordButton);
//convoBg
convoBg = SKShapeNode(rect: CGRect(x: 0,y: 425,width: Int(frame.maxX),height: 175))
convoBg.position = CGPoint(x: 100,y: 400)
convoBg.fillColor = UIColor.init(red: 0.15,green: 0.31,blue: 0.51,alpha: 1.0);
convoBg.strokeColor = UIColor.init(red: 0,green: 0,blue: 0,alpha: 1.0);
convoBg.linewidth = 10;
convoBg.zPosition = 2.0;
addChild(convoBg);
//characters
mainHero.position = CGPoint(x:frame.minX + 100,y: frame.midY);
mainHero.name = "hero";
mainHero.zPosition = 2.0;
mainHero.alpha = 0.0;
mainHero.run(SKAction.sequence([waitFade,fadeIn]));
mainHero.physicsBody = SKPhysicsBody(texture: mainHero.texture!,size: (mainHero.texture!.size()));
mainHero.physicsBody!.allowsRotation = true;
mainHero.physicsBody!.categoryBitMask = contactType.heroType.rawValue;
mainHero.physicsBody!.contactTestBitMask = contactType.rockType.rawValue;
mainHero.physicsBody!.collisionBitMask = contactType.rockType.rawValue;
mainHero.physicsBody!.affectedByGravity = false;
mainHero.physicsBody!.isDynamic = false;
self.addChild(mainHero);
//arrows
left.position = CGPoint(x: frame.minX + 45,y: 540);
left.zPosition = 1.0;
left.alpha = 0.0;
left.run(SKAction.sequence([waitFade,fadeIn]));
self.addChild(left);
解决方法
我能够通过调整视图大小并再次读取节点来解决我的问题