12
我在黑屏上有一个移动的黑色图像,以便更容易看到我想为图像添加白光。这是我对运动图像的代码:将发光效果添加到SKSpriteNode
Ghost = SKSpriteNode(imageNamed: "Ghost1")
Ghost.size = CGSize(width: 50, height: 50)
Ghost.position = CGPoint(x: self.frame.width/2 - Ghost.frame.width, y: self.frame.height/2)
Ghost.physicsBody = SKPhysicsBody(circleOfRadius: Ghost.frame.height/1.4)
Ghost.physicsBody?.categoryBitMask = PhysicsCatagory.Ghost
Ghost.physicsBody?.collisionBitMask = PhysicsCatagory.Ground | PhysicsCatagory.Wall
Ghost.physicsBody?.contactTestBitMask = PhysicsCatagory.Ground | PhysicsCatagory.Wall | PhysicsCatagory.Score
Ghost.physicsBody?.affectedByGravity = false
Ghost.physicsBody?.isDynamic = true
Ghost.zPosition = 2
self.addChild(Ghost)
我不知道怎样还是怎样用来辉光添加,如果您需要了解更多信息请咨询。
这是一个惊人的答案,超出了答案。这是一项慷慨的服务加上洞察力,另一个令人惊叹的展现了扩展方面的内在思想。谢谢!!!这还不够。加!!! !!! 3。性能查询:我用特效修饰,并完成手动将它们烘焙成纹理以用作精灵。这是否会模糊效果更新每一帧。或者他们“烘烤”,只是作为一个位图/精灵的加法操作,除非它的基础对象(应用于它们)发生了变化? – Confused
@Confused:非常好的一点。我只是将这一行添加到我的扩展'effectNode.shouldRasterize = true'。现在,仅在第一次计算模糊效果,然后为下一帧进行缓存。当'effectNode'内的内容发生变化时,缓存会自动失效(但这种情况不会发生)。 –
再次感谢您。这是为我澄清。我不确定'effectNodes'是否智能,自我意识优化自己,或不。我想,有时候,他们会这样做。但是只能通过查看帧率的奇怪变化来猜测。我经常看不到屏幕上显示的帧率和Xcode中的调试工具之间的相关性。但是应该尽量......应该强制它进行不断重新计算的优化/预防。我希望。干杯! – Confused