【发布时间】:2018-03-11 14:06:33
【问题描述】:
我正在为 macOS 构建一个结合 SpriteKit 和 AppKit 的小型实用程序。具体来说,我使用 SKView 作为应用程序窗口的“背景”(主要用于在 SpriteKit 中更容易的特定类型的动画)。我还在更改窗口背景属性的颜色以调整标题栏颜色。在绿色和红色之间切换。
我遇到的问题是 AppKit 和 SpriteKit 之间的颜色匹配。简而言之,它们不匹配。正如您在图片中看到的,标题栏与 SKView 有点不同。
玩了一会,发现SKView的背景色在“Device RGB colorspace”,Window的颜色在“sRGB IEC61966-2.1 colorspace”。我将 AppKit 颜色更改为设备 RGB,颜色仍然不匹配。
我正在使用常规的旧 NSColor 初始化程序创建颜色。
我不确定您是否可以更改颜色的颜色空间。 Window 和 SKView 上的 backgroundColor 属性是只读的。
有什么想法吗?
【问题讨论】:
-
听起来很烦人!!我知道 osX 的 SKColor 是 NSColor,iOS 的 SKColor 是 UIColor...也有兴趣了解更多信息!
-
首先在 UIView 中使用 SpriteKit 场景单独分解所有 R,G,B,A 值,然后用 R 对它们进行数学运算,以此类推
标签: swift macos colors sprite-kit appkit