gpt4 book ai didi

ios - 在两点之间添加 block 。 SpriteKit

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

我正在尝试在两点之间添加一个 SKNode,如下图所示。

enter image description here

我有什么:

    1. 我用这段代码计算这两点之间的距离(工作正常):

       func distanceCount(_ point: CGPoint) -> CGFloat {
      return abs(CGFloat(hypotf(Float(point.x - x), Float(point.y - y)))) }
    1. 然后我计算中间点(也可以正常工作)

        func middlePointCount(_ point: CGPoint) -> CGPoint {
      return CGPoint(x: CGFloat((point.x + x) / 2), y: CGFloat((point.y + y) / 2))
      }

最后这个函数添加了我的对象(SKNode):

func addBlock(_ size:CGSize, rotation:CGFloat, point: CGPoint) -> SKNode{

let block = SKSpriteNode(color: UIColor.lightGray , size: size)
block.physicsBody = SKPhysicsBody(rectangleOf: block.frame.size)
block.position = point //This is my middle point
block.physicsBody!.affectedByGravity = false
block.physicsBody!.isDynamic = false
block.zRotation = rotation

return block

}

总结:我的addBlock 函数添加了具有正确宽度并在正确位置居中的对象,但角度错误。

注意:我曾尝试创建应该计算角度的函数,但它们都是错误的:/。

我的问题:我怎样才能得到正确的角度,或者是否有其他方法可以达到我的目标?

如果您需要更多详细信息,请告诉我。

谢谢你:)

最佳答案

要获得两点之间的角度,您需要使用以下命令

atan2(p2.y-p1.y, p2.x-p1.x)

关于ios - 在两点之间添加 block 。 SpriteKit ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40682754/

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