gpt4 book ai didi

swift - 当另一个节点的子节点时,Spritekit 节点 zRotation 不保持节点的纵横比

转载 作者:搜寻专家 更新时间:2023-11-01 05:38:37 26 4
gpt4 key购买 nike

我正在构建一个游戏,我希望能够旋转一个节点。如果该节点的父节点是 self(GameScene),我可以旋转是完全没问题的,但是如果我将该节点添加为另一个节点的子节点,而该节点的 width x高度 比率,它失去了它的纵横比。

我想我可以简单地找到场景比例并在更改父级后将节点的宽度乘以它,这工作正常但是......当我旋转节点(zRotation)时,它再次拉伸(stretch)。最大拉伸(stretch)是在节点旋转90度时,因为新的父节点是一个比大的高的矩形。

我想知道是否有一种方法即使在旋转和更改节点父节点(坐标系)时也始终保持纵横比不变?

我只是将节点添加到 bigRectangle(GameScene 上的一个大矩形)。它看起来在矩形上被拉伸(stretch)了(如果我将它添加到 GameScene 中则不会)所以我通过执行以下操作来更改比例:

let myRatio = self.frame.height / self.frame.width
myNode.xScale = 1
myNode.yScale = 1 * myRatio

这可行,但是当节点旋转 (zRotation) 时,它会再次拉伸(stretch)...

我添加了图片;

Before rotation, ratio is good

After rotation, ratio is broken

最佳答案

您必须在场景本身上进行配置:

scene.scaleMode = .AspectFill

关于swift - 当另一个节点的子节点时,Spritekit 节点 zRotation 不保持节点的纵横比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33770176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com