macos - 获取 SKSpriteNode 纹理在该位置的 alpha 值

标签 macos swift sprite-kit skspritenode

我想问一下是否有办法在给定位置获取 SKSpriteNode 纹理的 alpha。

我想做的是检查鼠标点击是依赖于 Sprite 的可见纹理还是仅在其框架中。

我正在使用 Swift 和 SpriteKit,为 OS X 开发。我使用 UIKit 找到了一些答案,但由于我想为 OS X 开发,UIKit 不可用。

有办法吗?

感谢您的宝贵时间。

最佳答案

您不能访问 SK 中的纹理数据。一种方法是从图像创建位掩码。您可以将图像加载为 CGImage 或 UIImage,然后扫描所有非透明像素。从中您应该能够提取位置并将它们与您的点击/点击位置进行比较。

关于macos - 获取 SKSpriteNode 纹理在该位置的 alpha 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017782/

相关文章:

ios - 避免在 Swift 中重复元组

ios - 用物理创建下雨动画

swift - 您可以将增量时间应用于 SKAction

objective-c - NSTextView 选择突出显示所有字符甚至段落缩进

ios - SpriteKit 检测节点是否从父节点移除

macos - 第 3 方 Mac 开发者应用程序 : DEVELOPER NAME: no identity found

macos - 通过单击 Swift 中的按钮显示/隐藏窗口

ios - Core Text Rotation 无法正确旋转 - Swift

objective-c - IMServicePlugin 插件不适用于 OS X El Capitan 上的消息

ios - $0 在 Swift 的闭包中代表什么?