gpt4 book ai didi

ios - SpriteKit 快速全屏晕影/带 alpha 混合的照明

转载 作者:行者123 更新时间:2023-11-28 13:13:28 28 4
gpt4 key购买 nike

我正在使用 SpriteKit 制作平台游戏。我想达到这样的效果,即只有玩家周围的区域被照亮,其他一切都消失在黑暗中。想象一下像假光源或强烈的晕影之类的东西。出于测试目的,我创建了以下代码:

let effect = SKEffectNode()
effect.zPosition = 100
effect.position = CGPoint(x: 0, y: 0)
effect.shouldRasterize = false
effect.blendMode = SKBlendMode.Multiply

let gray = SKSpriteNode()
gray.color = SKColor.grayColor()
gray.size = self.frame.size
gray.blendMode = SKBlendMode.Multiply
gray.position = CGPoint(x: 0, y: 0)

let shine = SKSpriteNode(imageNamed: "Shine")
shine.position = CGPoint(x: 0, y: 0)
shine.blendMode = SKBlendMode.Screen
shine.setScale(3.0)

effect.addChild(gray)
effect.addChild(shine)

self.world.addChild(effect)

这可以按预期工作,但对帧速率有一定的显着影响。考虑到 e 可能会有像这样的额外效果。 G。 map 上的手电筒或其他光源,我预计帧率会下降得更多。

接下来,我想让灯光闪烁,所以我在更新函数中为发光 Sprite 分配了一个随机 alpha 值。这确实降低了帧率,让它立即下降到大约 4 帧。

我已经阅读了 SKEffectNodes 及其对帧速率的重大影响。有没有其他方法可以实现这种全屏 alpha 混合,速度相当快,即使有多个“灯”?

非常感谢任何建议。

最佳答案

关于ios - SpriteKit 快速全屏晕影/带 alpha 混合的照明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273473/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com