我正在使用 sprite kit 构建游戏,当我将一个轻节点作为子节点添加到我的主要角色时,我遇到了一个奇怪的错误。当主角的节点靠近像墙或地板这样的精灵节点时,似乎会出现该错误。
我已经尽我所能使用轻节点,但似乎没有任何帮助。
Humanoid 是我的主角的精灵节点。下面的代码来自人形初始化。这是唯一涉及灯光节点的代码,因为灯光蒙版是在场景编辑器中设置的。灯光的 zPosition 设置为低于场景中的任何其他内容,包括墙壁。
let light = SKLightNode()
light.categoryBitMask =
GameScene.CollisionTypes.humanoid.rawValue
light.lightColor = UIColor.white
light.shadowColor = UIColor.black
light.zPosition = -100
light.position = humanoid.anchorPoint
light.falloff = 5.0
light.ambientColor = UIColor.black
humanoid.addChild(light)
我希望这会产生一个跟随玩家的光节点并产生类似战争迷雾的效果。相反,结果非常接近我的预期,但在某些区域的照明存在故障。
(图片链接) https://drive.google.com/open?id=1SyDvS5YiGM-qOvFM_bel5Gm6xpfHXAVw