iOS Spritekit 为什么我不能使用白色重复着色?

标签 ios iphone uicolor sprite-kit blending

我正在尝试使用缩放以外的方法来选择 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/

相关文章:

iphone - objective-c : UIColor * exception 'NSInvalidArgumentException?

iphone - 如何从十六进制值转换为 UIColor?

ios - 在 SWRevealViewController 之前登录 View Controller

ios - 如何使用 Swift 在 SpriteKit 程序中初始化/移动相机?

ios - Affdex iOS SDK "set the licensePath property with a valid file path"错误

iPhone - 无法使用硬按钮调节音量

iphone - 如何在项目导航器中自动显示

iphone - (CoreData 项目)为了避免崩溃,我必须手动合成 NSFetchedResultsController - 为什么?

iphone - Restkit 核心数据与 NSManagedObjectContext 集成

swift - 我们如何使用 Assets 目录颜色集?