gpt4 book ai didi

ios - 不断偏移 SKNode 的位置 - Swift Sprite Kit

转载 作者:行者123 更新时间:2023-11-30 11:04:18 25 4
gpt4 key购买 nike

我创建了一个 Sprite SKNode 类,它的工作方式类似于 StackView。在 Sprite Kit 中,对象原点始终居中,因此我想将位置偏移一定量(即 calculateAccumulatedFrame().width/2),以便可以舒适地定位。最好的方法是什么?

首先我想我可以做这样的事情

override var position: CGPoint {
didSet {
self.position = CGPoint(x: position.x - self.calculateAccumulatedFrame().width/2, y: position.y)
}
}

但是这当然是不可能的,因为这会导致无限循环还有什么其他选择?

最佳答案

In Sprite Kit objects origin is always centered

事实并非如此。有一个有用的属性,称为 anchorPoint您可以设置它来指定“原点”所在的位置。

从您的代码来看,您似乎希望 anchor 位于 Sprite 右边缘的中点,假设 Sprite 是一个矩形。这意味着您希望 anchor 为 (1, 0.5):

yourSprite.anchorPoint = CGPoint(x: 1, y: 0.5)

关于ios - 不断偏移 SKNode 的位置 - Swift Sprite Kit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913358/

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