【发布时间】:2023-03-20 15:17:02
【问题描述】:
我有一个用 Swift 制作的 Spritekit 游戏,当游戏结束时,我有一个 png 文件的背景,它的 alpha 值为 0.5ish(所以它是透明的)。我是在 Photoshop 中制作的。
我用它来处理游戏细节并将记分卡放在上面。
当我在运行 iOS 9.2 的 iPhone 6 上使用它时,它工作得很好,使细节变得模糊并显示记分卡......但是当我在运行 iOS 9.2 的模拟器或运行 iOS 8.4 的 iPhone 5C 上运行它时,它只是出现黑色...覆盖整个游戏屏幕...
它是这样声明的:
//alpha'sd png created in photoshop. approx. 0.3 alpha
let backdrop = SKSpriteNode(imageNamed: "Background_Alpha")
backdrop.anchorPoint = CGPoint(x: 0.5, y: 1.0)
backdrop.position = CGPoint(x: size.width/2, y: size.height)
backdrop.name = "ScoreScreen"
backdrop.zPosition = Layer.UIBackground.rawValue
worldNode.addChild(backdrop)
并像这样调用:
backdrop.alpha = 0
let drop = SKAction.fadeInWithDuration(kAnimDelay)
drop.timingMode = .EaseInEaseOut
backdrop.runAction(SKAction.sequence([
SKAction.waitForDuration(kAnimDelay),
drop
]))
这是模拟器的屏幕截图...但正如我所提到的,它也发生在我的 iPhone 5C 和 8.4...
黑色应该是透明的蓝光,让玩家仍然可以看到背景中的游戏,但没有那么生动......
有什么想法吗?
【问题讨论】:
-
背景是sknode还是skspritenode?你试过那个节点的 alpha 属性吗?
-
这是一个
SKSpriteNode。好吧,它适用于我的 6+,所以 alpha 值很好。我唯一能想到的是,SpriteKit 为 iOS 9 提供了一些 iOS 8 中没有的东西……但是该图像的所有代码都在上面。我认为模拟器只是不显示 alpha...
标签: ios iphone swift sprite-kit png