gpt4 book ai didi

swift - 如何在始终面向前方移动时旋转 Spritenode?

转载 作者:行者123 更新时间:2023-11-28 06:02:53 25 4
gpt4 key购买 nike

我有这段代码可以对子弹节点施加力并使其向敌人移动。在这种情况下,火箭始终朝上。我的问题是如何旋转这颗子弹以面向节点头部的方向。

  let asd=SKSpriteNode(imageNamed: "nuke")
asd.zPosition=3
asd.setScale(0.1)
asd.position=CGPoint(x: self.size.width*0.945, y: self.size.height*0.48)

asd.physicsBody=SKPhysicsBody(rectangleOf: asd.size)
asd.physicsBody?.affectedByGravity=true
asd.physicsBody?.isDynamic=true

self.addChild(asd)
let scale=SKAction.scale(to: 0.4, duration: 0.5)

asd.physicsBody?.applyForce(CGVector(dx: -63, dy: 130))
let wait=SKAction.wait(forDuration: 10)
let rem=SKAction.removeFromParent()
let seq=SKAction.sequence([scale,wait,rem])
asd.run(seq)
}

最佳答案

旋转是 zRotation 属性。

self.zRotation = <angle>

您必须先确定角度,然后使用一些基本的三角函数将其设置为。

角度以弧度指定并逆时针旋转,所以...

bullet 12 o'clock = 0
bullet 9 o'clock = pi/2
bullet 6 o'clock = pi
bullet 3 o'clock = pi * 3 / 2

关于swift - 如何在始终面向前方移动时旋转 Spritenode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49071633/

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