【发布时间】:2015-11-18 01:20:01
【问题描述】:
我正在构建一个游戏,我希望能够旋转一个节点。如果该节点的父节点是self(GameScene),我可以旋转非常好,但是如果我将该节点添加为另一个不具有相同width x height 比率的节点的子节点,它会失去它的纵横比.
我想我可以简单地找到场景比例并在更改父节点后将节点的宽度乘以它,这工作正常但是......当我旋转节点(zRotation)时,它会再次拉伸。最大拉伸是当节点旋转 90 度时,因为新的父节点是一个大于大于的矩形。
我想知道是否有一种方法可以在旋转和更改节点父节点(坐标系)时始终保持纵横比不变?
我只是将节点添加到 bigRectangle(GameScene 上的一个大矩形)。它看起来在矩形上被拉伸(如果我将它添加到 GameScene 则不会)所以我通过以下方式更改比率:
let myRatio = self.frame.height / self.frame.width
myNode.xScale = 1
myNode.yScale = 1 * myRatio
这可行,但是当节点旋转(zRotation)时,它会再次被拉伸......
我添加了图片;
【问题讨论】:
-
你能解决这个问题吗?当 scale 和 zRotation 应用于每个节点时,我可以重现子节点(尤其是 2 级或更多)最终看起来非常奇怪。
标签: swift sprite-kit aspect-ratio coordinate-systems