【发布时间】:2017-07-29 22:52:10
【问题描述】:
我需要在 Swift 中为我的游戏获取像素/点的颜色。所以我试图找到一个输入 CGPoint 并返回颜色的函数,到目前为止我发现的所有内容都只返回 (0,0,0,0)。我认为这是因为我在我的游戏场景类(这是一个 SKScene)中执行此操作,并且该场景仅由视图控制器加载。有什么解决办法吗?
(如果有更好的方法来检查精灵是否正在触摸同样有效的颜色)
提前致谢。
【问题讨论】:
-
stackoverflow.com/questions/1160229/… 有 Swift 2 和 3 的代码:stackoverflow.com/a/26945594/1187415
-
@MartinR 这些解决方案似乎也只返回透明度/黑色
-
取决于您何时/如何获得它。场景和视图完全是两个不同的东西,所以你在场景中的坐标可能不会反映你在视图中的坐标,而且内容在绘制之前可能不会渲染到上下文中。除此之外,您还需要担心视网膜,这也可能导致无效像素。也许真正的问题是,为什么需要一个单独的点,还有更好的选择吗?
-
我需要能够检查我的对象是否与颜色发生碰撞。任何其他方式都可以,但它必须与 spriteKit 和我的游戏场景一起使用。
-
@Knight0fDragon 你有什么想法吗?我更新了我的问题。
标签: swift sprite-kit swift3 uicolor cgpoint