我有一个SKSpriteNode我希望在它的边缘有蓝色光晕以突出显示目的.我猜我需要让我的精灵成为a的孩子,SKEffectNode然后创建/应用某种过滤器.
更新:我已经使用所选答案的方法调查了这一点,并发现SKEffectNode即使你已经设置为shouldRasterize"无过滤器"定义,它也会有相当大的性能.我的结论是,如果你的游戏一次需要10个以上的移动物体,SKEffectNode即使是光栅化也不会涉及到它们.
我的解决方案可能涉及预渲染的发光图像/动画,因为SKEffectNode不会根据我的要求削减它.
如果有人对我失踪的任何事情有所了解,我会很感激你所知道的一切!
我接受了答案,因为它确实实现了我的要求,但是想要将这些笔记添加到任何想要走这条路线的人,这样你就可以了解使用中的一些问题SKEffectNode.
我没有在Sprite Kit中找到任何支持Drophadow或字体轮廓的内容.对于Drophadow,我猜我可以创建第二个SKLabelNode并将其偏移到另一个之后.
有没有什么方法可以使用SKEffectNode作为轮廓或阴影?可能使SKLabelNode成为SKEffectNode的子代?
更新:
我能够使用第一个后面的第二个SKLabelNode得到一个不错的阴影,即黑色和偏移.仍然对其他潜在的选择感兴趣,但这似乎运作良好.
我试图在更新后修复SKLabelNode的左侧.问题在于SKLabelNode正朝两个方向发展.我想要的只是在右侧成长.非常感谢.
升级到iOS 8 b3和Xcode 6 b3后,我在didSimulatePhysics方法中出错:
[self enumerateChildNodesWithName:@"name" usingBlock:^(SKNode *node, BOOL *stop) {
if (node.position.y < 0 || node.position.x>320 || node.position.x<0) {
[node removeFromParent];
}
}];
Run Code Online (Sandbox Code Playgroud)
虽然我启用了异常断点和僵尸对象,但我没有进一步了解为什么会发生这种情况.错误是线程1 BreakPoint 1.3.[level didSimulatePhysics]非常感谢任何帮助.
Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <__NSArrayM: 0x7edf17d0> was mutated while being enumerated.'
Run Code Online (Sandbox Code Playgroud) 我的目标是创建一个与SKSpriteNode的轮廓匹配的CGPath.
这对于创建SKSpriteNodes的发光/轮廓以及物理路径非常有用.
我曾经有过一个想法,但我对CIImage一点都没有用,所以我不知道是否有办法在像素级别访问/修改图像.
那么也许我可以将这样的东西移植到Objective-C:
http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/
同样非常开放的其他方法使这个过程自动化,而不是我为物理或轮廓/发光效果的每个精灵创建形状路径.
我刚刚开始使用XCode 5,我很好奇这个条形和渐变.
我不能说我记得在第5版之前看过它.我在做了一些分析之后才注意到它,虽然它可能一直存在.即使在版本4.5中我也知道.
每个代码块中的渐变似乎都不同,所以我认为它代表了在该代码块中花费的时间.通过代码查看,在具有循环的区域中似乎更暗,这就是我有这个假设的原因.
sprite-kit ×5
ios ×4
iphone ×2
xcode ×2
core-image ×1
objective-c ×1
skeffectnode ×1
sklabelnode ×1
swift ×1
xcode5 ×1