Iphone 制作场景';s背景透明不工作。。。这是虫子吗?
有没有一种方法可以使一个场景的背景透明,并通过透明显示另一个场景 这样做的目的是使所呈现场景的背景如下:Iphone 制作场景';s背景透明不工作。。。这是虫子吗?,iphone,ios,ipad,sprite-kit,Iphone,Ios,Ipad,Sprite Kit,有没有一种方法可以使一个场景的背景透明,并通过透明显示另一个场景 这样做的目的是使所呈现场景的背景如下: self.backgroundColor = [SKColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.5f]; 怎样才能看到黑暗背后的场景。但这样做是行不通的。背景是完全不透明的 有什么方法可以做到这一点吗?我认为这是不可能的,因为我尽我所知尝试了所有方法,但它总是忽略alpha值 这是不符合逻辑的,因为它在OpenGL上工作,但是S
self.backgroundColor = [SKColor colorWithRed:0.0f green:0.0f blue:0.0f alpha:0.5f];
怎样才能看到黑暗背后的场景。但这样做是行不通的。背景是完全不透明的
有什么方法可以做到这一点吗?我认为这是不可能的,因为我尽我所知尝试了所有方法,但它总是忽略alpha值
这是不符合逻辑的,因为它在OpenGL上工作,但是SKView是从UIView而不是从GLKView子类化的。您不能使场景透明。如果要使视图透明,请执行以下操作
但是,您不能同时运行两个场景(仅在它们之间转换),虽然您可以向故事板页面添加多个SKView,但其中只有一个视图将全速更新,它们仅每隔几秒钟就会冻结或更改其他内容。在iOS 8中,可以将场景的SKView设置为允许透明度,并将场景的背景色设置为具有透明度。然后将看到SKView后面的视图
UIView *parentView = ...;
[parentView addSubview:backgroundView];
[parentView addSubview:skViewWithScene];
skViewWithScene.allowsTransparency = YES;
scene.backgroundColor = [UIColor clearColor];
[skViewWithScene presentScene:scene];
透明度仅适用于iOS 8,必须检查iOS 7 在ViewController中,将透明度设置为:
SKView *skView = (SKView *)self.mySKView;
SKScene *skScene = [MyScene sceneWithSize:skView.bounds.size];
skScene.scaleMode = SKSceneScaleModeAspectFill;
skView.allowsTransparency = YES;
[skView presentScene: skScene];
在MyScene.m中,将背景设置为清晰颜色:
self.scene.backgroundColor=[UIColor clearColor] swift3
@IBOutlet var gameScene: SKView!
func setupGameScene(){
if let scene = SKScene(fileNamed: "GameScene") {
scene.scaleMode = .aspectFill
scene.backgroundColor = .clear
gameScene.presentScene(scene)
gameScene.allowsTransparency = true
gameScene.ignoresSiblingOrder = true
gameScene.showsFPS = true
gameScene.showsNodeCount = true
}
}
SpriteKit在这一点上几乎是半生不熟的。我必须创建许多控件,以使其最小限度地工作。有一行文字的SKLabeNodes?真正地SKShapeNodes不支持面具和其他东西。之前发布的答案仍然正确-SpriteKit视图不支持iOS 7和OS X v10.9(Mavericks)中的透明度。透明
SKView
s需要iOS 8或OS X v10.10(约塞米蒂)。