我正在尝试使用缩放以外的方法来选择 Sprite 节点。我最喜欢的一种方法是用白色着色,它可以明显地突出显示节点。
但是,我似乎无法多次复制 colorize with white 行为。 为什么我不能多次使用白色应用 colorizeWithColor
?
除了使用的颜色不同,这两个方法调用是相同的。如果我使用红色、灰色等,每次触摸时节点都会闪烁。但如果我使用白色,它只会这样做一次,然后再也不会响应触摸。
[self runAction:[SKAction colorizeWithColor:[SKColor lightGrayColor] colorBlendFactor:0.8 duration:0.6] completion:^{
[self runAction:[SKAction colorizeWithColorBlendFactor:0.0 duration:0.4]];
}];
[self runAction:[SKAction colorizeWithColor:[UIColor colorWithWhite:0.99 alpha:1.0] colorBlendFactor:0.8 duration:0.6] completion:^{
[self runAction:[SKAction colorizeWithColorBlendFactor:0.0 duration:0.4]];
}];
最佳答案
这很有趣 - 我不确定我是否找到了答案。使用白色着色确实会以不同于其他颜色的方式影响节点。
如果您使用 blueColor
对 sprite 节点执行着色并在模拟器中观看,颜色将保持不变。
[node runAction:[SKAction colorizeWithColor:[SKColor blueColor] colorBlendFactor:0.8 duration:0.6]];
但是,如果您使用 whiteColor
在 sprite 节点上执行着色并在模拟器中观看,它似乎会自动展开(即使没有任何完成 block )。
[node runAction:[SKAction colorizeWithColor:[SKColor whiteColor] colorBlendFactor:0.8 duration:0.6]];
我找不到任何关于为什么在文档/头文件中会出现这种情况的引用。仍在寻找。
关于iOS Spritekit 为什么我不能使用白色重复着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20715177/