gpt4 book ai didi

ios - 以圆形模式向外移动 SpriteNode

转载 作者:搜寻专家 更新时间:2023-11-01 07:06:47 24 4
gpt4 key购买 nike

我有一个函数,可以创建 8 发来自玩家的子弹,呈圆形向外发射。我认为问题在于此处的这一行:

let endPoint = CGPoint(x: distance * cos(angle), y:  distance * sin(angle))

这会导致子弹在圆圈左下角的移动速度比右上角的快,而实际上它们应该以相同的速度移动相同的距离。

有人知道如何实现吗?

func fireSpecialWeapon() {

stride(from: 0, to: 2 * CGFloat.pi, by: 2 * CGFloat.pi / 8 ).forEach { angle in
let bullet = SKSpriteNode(imageNamed: "bulletCircle")
bullet.setScale(3)
bullet.zRotation = angle
bullet.position = player.position
bullet.zPosition = 2

//move outwards to the edge of the screen
let distance: CGFloat = 1000
let endPoint = CGPoint(x: distance * cos(angle), y: distance * sin(angle))
let move = SKAction.move(to: endPoint, duration: 2)

self.addChild(bullet)
bullet.run(move)
}
}

最佳答案

如果子弹从左下角移动得比右上角移动得更快,这意味着你的 anchor 是 (0,0) 而不是 (0.5,0.5)

关于ios - 以圆形模式向外移动 SpriteNode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47532154/

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