gpt4 book ai didi

swift - Sprite 节点的起始位置

转载 作者:可可西里 更新时间:2023-11-01 01:19:19 25 4
gpt4 key购买 nike

我正在使用以下代码使 Sprite 节点在 Xcode spritekit 中绕圈移动。

let circleDiameter = CGFloat(100)
// center our path based on our sprites initial position
let pathCenterPoint = CGPoint(
x: object.position.x - circleDiameter,
y: object.position.y - circleDiameter/2)
// create the path our sprite will travel along
let circlePath = CGPath(ellipseIn: CGRect(origin: pathCenterPoint, size: CGSize(width: circleDiameter, height: circleDiameter)), transform: nil)
// create a followPath action for our sprite
let followCirclePath = SKAction.follow(circlePath, asOffset: false, orientToPath: false, duration: 3)
// make our sprite run this action forever
object.run(SKAction.repeatForever(followCirclePath).reversed(), withKey: “moving”)

world.addChild(object)

问题是, Sprite 节点的起始位置总是位于圆形路径的右侧。我知道我可以使用 .reversed() 来改变 Sprite 节点的方向,但这不是我要问的。

如何将“起点”更改为圆形路径的左侧?

谢谢大家!请引用下图:D

Example of Question

最佳答案

CGPath(ellipseIn:...) 是一种创建路径的实用方法椭圆的“参数”或“角度”从 0 到 2π。

您不能为跟随 Action 添加“偏移量”,但您可以定义从圆的“左端”开始的路径:

let circlePath = CGMutablePath()
circlePath.addArc(center: pathCenterPoint, radius: circleDiameter,
startAngle: -.pi, endAngle: .pi, clockwise: false)

关于swift - Sprite 节点的起始位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44669867/

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