0

看来,在 SpriteKit 中,当我在 SKCropNode 中使用蒙版来隐藏某些内容时,它无法更改由calculateAccumulatedFrame. 我想知道是否有任何方法可以计算可见框架。

一个简单的例子:

import SpriteKit

let par = SKCropNode()

let bigShape = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 100, height: 100))
bigShape.fillColor = UIColor.redColor()
bigShape.strokeColor = UIColor.clearColor()
par.addChild(bigShape)

let smallShape = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 20, height: 20))
smallShape.fillColor = UIColor.greenColor()
smallShape.strokeColor = UIColor.clearColor()
par.maskNode = smallShape

par.calculateAccumulatedFrame() // returns (x=0, y=0, width=100, height=100)

我希望根据裁剪节点掩码par.calculateAccumulatedFrame()返回。(x=0, y=0, width=20, height=20)

我想也许我可以自己将该函数编码为一个扩展,该扩展基本上重新实现calculateAccumulatedFrame,支持检查 SKCropNodes 及其掩码,但我想到我需要考虑该掩码的 alpha 以确定是否存在实际增长的内容框架。听起来很难。

有没有简单的方法来计算这个?

4

0 回答 0