SKSpriteNode 纹理 alpha 是不是影响触摸区域?

Posted

技术标签:

【中文标题】SKSpriteNode 纹理 alpha 是不是影响触摸区域?【英文标题】:Does SKSpriteNode texture alpha influence touch area?SKSpriteNode 纹理 alpha 是否影响触摸区域? 【发布时间】:2016-10-07 17:41:46 【问题描述】:

如果 SKSpriteNode 的 alpha 纹理不是矩形且没有轮廓/边框,那么 SPSpriteNode 的触摸区域是否会缩小到只有不透明像素的区域并忽略完全透明的像素?

或者是SKSpriteNode的矩形大小,不考虑纹理透明度,触摸区域?

【问题讨论】:

【参考方案1】:

信不信由你,触摸区域基于您节点的frame 属性,这是您的精灵的最小可见框区域。因此,如果您有一个 32x32 的 Sprite,但在您内部有一个可见的直径为 16 的圆,那么您的触摸区域是一个 16x16 的正方形,围绕着圆

【讨论】:

您是如何偶然发现这个知识宝库的? Apple 文档并使用代码,这就是 Playground 存在的原因

以上是关于SKSpriteNode 纹理 alpha 是不是影响触摸区域?的主要内容,如果未能解决你的问题,请参考以下文章

Swift - 使用纹理数组更改 SKSpriteNode 纹理

SKSpriteNode 多个纹理

水平镜像 SKSpriteNode 纹理

无法可靠地验证 SKSpriteNode 的纹理

如何让 SKSpriteNode 不旋转纹理

无法更改SKSpriteNode的纹理