【问题标题】:Can you mask an SKSpriteNode with another SKSpriteNode你能用另一个 SKSpriteNode 屏蔽一个 SKSpriteNode
【发布时间】:2016-10-29 21:35:45
【问题描述】:

只要问标题就问,我想知道这是否可能。 SKCropNode 的大多数示例都使用纹理或形状。我想要完成的是自定义形状的面具。如果有办法,请告诉我!

【问题讨论】:

  • 什么是 SKMaskNode?你是说 SKCropNode 吗?
  • 是的,这就是我的意思,我很抱歉。已编辑。
  • 好的,你可以使用任何 SKNode 作为你的蒙版,无论你的蒙版的最终结果是什么,如果 alpha
  • @Knight0fDragon 您能否详细说明您所说的 alpha 级裁剪是什么意思?
  • @Crashalot Alpha 级别裁剪意味着您的像素只会下降到蒙版的 Alpha 级别,因此如果您有一个纯白色图像,并使用 75% 的 Alpha 遮罩,那么您的白色图像将变为 25 % 透明

标签: swift sprite-kit mask skspritenode skcropnode


【解决方案1】:

您可以通过给它一个子节点来屏蔽一个节点,其中子节点的 zPosition 大于父节点的 zPosition。然后,当然,您必须将子节点正确定位在父节点的顶部 - 但这应该很容易,因为子节点的位置相对于父节点(即如果父节点具有位置 (25, 30 ) 在场景中,并且您设置 child.position = CGPoint(x:5, y:0),则孩子在场景中的位置将是 (30, 30))。另外,如果父节点移动,子节点也会随之移动。

【讨论】:

  • 这不是掩码,这是叠加层。在这种情况下,掩码是用于按位运算的数据。例如。 SKCropNodes,在给定节点上裁剪掩码中 alpha
  • 是的,我希望通过 SKCropNode 使用掩码,而不是将节点放在另一个节点之上。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多