swift2 如何使节点永远沿一个方向移动?

cwtwac6a  于 2022-11-06  发布在  Swift
关注(0)|答案(1)|浏览(185)

我试图在SpriteKit(Xcode 7测试版)中制作一个像Doodle Jump这样的垂直无休止的跑步者,但不知道如何不断地向上移动Node

override func didMoveToView(view: SKView) {

    makeBackground()

    // Bubble

    let bubbleTexture = SKTexture(imageNamed: "bubble.png")

    bubble = SKSpriteNode(texture: bubbleTexture)

    bubble.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))

    bubble.physicsBody = SKPhysicsBody(circleOfRadius: bubbleTexture.size().height/2)
    bubble.physicsBody!.dynamic = false
    bubble.physicsBody!.allowsRotation = false

    let float = SKAction.moveToY(+yScale, duration: 0.2)

    bubble.SKAction.repeatActionForever(runAction(float))

    self.addChild(bubble)
}
3yhwsihp

3yhwsihp1#

只是碰巧看到你的职位在这里回答了你的最新一个;我想我也会回答的。
您只需要以下代码,它告诉SKAction以参数的形式重复一个操作:

let float = SKAction.repeatActionForever(SKAction.moveToY(+yScale, duration: 0.2))

bubble.runAction(float)

附带说明:

在Swift中,变量的名称可以是float,但这一名称却遭到了广泛的反对,因为有一个第一类变量,即float。因此,这里没有冲突。2然而,为了保存我们的额头被高级程序员时不时地拍下来,我们可以将你的动作命名为,例如,“floating",我觉得这很合适,因为“-ing”(连续动词形式动名词)传达了一种动作的感觉。

相关问题