ios - 如何用SKLightNode获取正午阳光的影子

标签 ios swift sprite-kit sknode sklightnode

我正在玩 SKLightNode。我正在尝试创建阴影,以使其看起来像中午的太阳。所以基本上是这样的:

enter image description here

然而,我所能得到的 SKLightNode 为我渲染的是这样的:

enter image description here

所以问题在于,看起来光线是从紧挨着物体并且来自同一水平面的。

我玩过 SKLightNode 配置,但这是我目前拥有的配置(我尝试了很多似乎没有任何效果的配置)

   var light = SKLightNode()
    //testing lightnodes
    light.name = "light"
    light.categoryBitMask = 3
    light.position = point
    light.zPosition = 100.0
    light.falloff = 100.00;
    light.enabled = true
    light.lightColor = UIColor(red:  86/255, green: 128/255, blue: 45/255, alpha: 0.5) //initWithRed:1.0 green:1.0 blue:0.0 alpha:0.5];
    light.shadowColor = UIColor(red:  220/255, green: 220/255, blue: 220/255, alpha: 0.3)//[[UIColor alloc] initWithRed:0.0 green:0.0 blue:0.0 alpha:0.3];
    light.ambientColor = UIColor(red:  220/255, green: 220/255, blue: 220/255, alpha: 0.3)//[[UIColor alloc] initWithRed:0.0
    addChild(light)

最佳答案

用SKLightNode是达不到你想要的效果的。请记住,SK 是一个 2D 平台。您想要的效果是 3D。您可以通过向具有位置偏移和自定义 alpha 设置的节点添加一个子节点来实现您想要的效果。

关于ios - 如何用SKLightNode获取正午阳光的影子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919411/

相关文章:

Swift:Spritekit 中的多个场景,从第二个和第一个场景上的不同 Sprite 节点类型调用 TouchBegan

php - 使用 ASIFormDataRequest 将 UIImage 从 UIImagePickerController 发送到 PHP 服务器

objective-c - 修复 iPhone 内存泄漏,入门

swift - UISplitViewController 检测后退按钮按下

swift - 无法使用图像名称对 SKSpriteNode 进行子类化

ios - 在 Swift 中使旋转真实地停止

iOS 操作扩展,从 Safari 共享 PDF 失败

ios - UIDocumentPickerViewController 以阿拉伯语显示翻转的内容

iOS 如何在数组解析Swift中从数据库下载数据

swift - 如何最小化 imageView TVOS Focus CollectionView Swift 的阴影