首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SpriteKit SKLightNode falloff特性没有影响

SpriteKit SKLightNode falloff特性没有影响
EN

Stack Overflow用户
提问于 2015-04-23 15:43:38
回答 1查看 2.2K关注 0票数 2

我一直在尝试SKLightNode的SpriteKit特性,并且在处理阴影方面遇到了困难。具体来说,无论我将SKLightNode设置为什么,它的SKLightNode属性似乎都不会做任何事情。这是我的电灯代码:

代码语言:javascript
复制
//set up lights
var light = SKLightNode()
light.categoryBitMask = LightCategory.Light1
/*THIS DOESN'T DO ANYTHING*/ light.falloff = CGFloat(0.01)
light.ambientColor = UIColor.whiteColor()
light.lightColor = UIColor(red: 1.0, green: 0.0, blue: 0.0, alpha: 0.5)
light.shadowColor = UIColor(red: 0.5, green: 0.25, blue: 0.25, alpha: 0.5)
light.position = CGPointMake(size.width / 2.0, size.height * 0.75)
light.zPosition = DrawOrder.Lights
addChild(light)

在这里,我把它添加到播放器中:

代码语言:javascript
复制
//set up player
player.position = CGPoint(x: size.width * 0.1, y: size.height * 0.3)
player.shadowCastBitMask = LightCategory.Light1
player.zPosition = DrawOrder.Sprites
addChild(player)

根据苹果公司的文件falloff应该设置“光源衰减率的指数”,并接受从0.0到1.0的CGFloat。但是无论我将falloff设置为什么,阴影都是无穷无尽的。

我做错了什么?

更新屏幕截图(FPS低由于模拟器):

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-23 15:55:40

我以前也有过这个问题。作为一项工作,您可以将falloff设置为大于1的数字。实际上,如果您在SKScene.sks文件中创建了一个.sks,那么它在默认情况下有一个falloff of 1.5,所以文档可能是不正确的?

编辑

在您的例子中,您的问题似乎还在于您将ambientColor设置为白色。把它设置为黑色,你就能看到灯正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29828324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档