gpt4 book ai didi

ios - 在 SpriteKit 中触发 "shot"

转载 作者:行者123 更新时间:2023-11-29 02:11:38 26 4
gpt4 key购买 nike

我需要从静态 SKSpriteNode 向另一个动态节点发射“子弹”。我创建了一个镜头作为 Sprite 节点作为镜头,并通过 SKAction 将其移动到主 Sprite 节点,如下所示:

let node = info["node"] as SKSpriteNode // The static node

let shot = SKSpriteNode(color: UIColor.blueColor(), size: CGSize(width:node.frame.width / 3, height: node.frame.height / 1.2))
shot.physicsBody = SKPhysicsBody(edgeLoopFromRect: shot.frame)
shot.position = node.position

shot.physicsBody?.categoryBitMask = shotMask
shot.physicsBody?.contactTestBitMask = spriteMask
shot.physicsBody?.collisionBitMask = 0
shot.physicsBody?.usesPreciseCollisionDetection = true

self.addChild(shot)

shot.runAction(SKAction.moveTo(sprite.position, duration: 1.0))

我的问题是射到点后就停止了。有没有办法让镜头继续朝它的方向移动,或者有另一种方法来做我需要的吗?谢谢!

最佳答案

不要使用 SKAction 来移动镜头。相反,通过直接修改镜头的位置来更改镜头的位置。

shot.position = CGPointMake(shot.position.x+1, shot.position.y);

在您的更新方法中运行上述内容。要加快射击速度,请将 +1 更改为您需要的任何值。显然,一旦射击节点离开屏幕、击中目标等,您将需要从父节点中删除它......

关于ios - 在 SpriteKit 中触发 "shot",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29233675/

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