gpt4 book ai didi

ios - 射弹并非来自正确的位置

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

我正在尝试使 SKSpriteNode 来自 SKShapeNode。当下面的代码运行时,会出现射弹,但它们将从屏幕上的不同点发出,而不是玩家位置。这是我的玩家类中的射击功能。

func shoot() { 

let newProjectile = Projectile()
newProjectile.position = self.position

self.addChild(newProjectile)
let action = SKAction.moveTo(CGPointMake(
600 * -cos(newProjectile.zRotation - 1.57079633) + newProjectile.position.x,
600 * -sin(newProjectile.zRotation - 1.57079633) + newProjectile.position.y
), duration: 2.0)

let actionMoveDone = SKAction.removeFromParent()
newProjectile.runAction(SKAction.sequence([action, actionMoveDone]))
}

这是我的射弹类:

    class Projectile : SKSpriteNode {

let Texture = SKTexture(imageNamed: "image.png")

static var counter : Int = 0

init(){
//super.init()
super.init(texture: Texture, color: UIColor.whiteColor(), size: CGSize(width: radius * 2, height: radius * 2))
self.name = "projectile-" + NSUUID().UUIDString
self.physicsBody = SKPhysicsBody(circleOfRadius: radius)
self.physicsBody?.categoryBitMask = GlobalConstants.Category.projectile
self.physicsBody?.collisionBitMask = GlobalConstants.Category.projectile
self.physicsBody?.contactTestBitMask = GlobalConstants.Category.projectile | GlobalConstants.Category.wall
self.zPosition = GlobalConstants.ZPosition.projectile
}
}

最佳答案

您可能需要将射弹添加到场景中,而不是玩家本身。您正在将射弹添加到您的播放器中。

您应该将射弹添加到 parent 场景中。像这样的东西。

self.scene!.addChild(newProjectile)

关于ios - 射弹并非来自正确的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37191789/

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