找到旋转的 SKSpriteNode 的精确帧

Find the Exact Frame of a rotated SKSpriteNode

我真的很想知道如何找到旋转的 SKSpriteNode 的精确帧。当前,SKSpriteNode 的框架如下所示:

这一帧是rect.frame.

但是,由于 zRotation,此帧包含很多空 space。我不想要这个空的 space,而是想要恰好 SKSpriteNode 的框架。 这就是我想要的:

我怎样才能做到这一点?如果您知道如何找到 SKSpriteNode 的 'exact' 框架,我真的很想知道。请使用SWIFT.

谢谢

这是可以做到的。

在精灵的左下方放置一个您知道其确切大小的虚拟节点。可能使用一个完美的正方形。将其锚定在 parent 的左下角。 parent 是您想要的确切尺寸定义。

从那里开始,有两种方式:

  1. 将虚拟 sprite 缩放到您感兴趣的 sprite 的大小,并使用这些测量结果确定 sprite 的位置以及它在任何时间点的大小。

  2. 在 parent 的右上角放置另一个虚拟精灵。在这种情况下,您可以使用两个虚拟对象的中点 objects,您不需要完美地使用它们的边缘。现在你可以随时找到这两个假人的位置,并计算出你的精灵在世界 space 单位中的 size/shape/outline。


这是方法 1 动画