在Swift中的2D平台机中为弹丸SKSpriteNode制作动画

时间:2018-07-20 23:59:56

标签: ios swift animation skspritenode

所以,我正在做一个教程,几乎我们所做的唯一动画就是在MainCamera中为播放器制作动画。

现在,我想为GameplayScene中随机生成的射弹设置动画。

我知道了,但是我仍然没有得到想要在动画中使用SKSpriteNode中的[SKTexture]的结果。我现在有这个:

    func spawnItem(camera: SKCameraNode) -> SKSpriteNode {
    let item: SKSpriteNode?



    for i in 1...2{
        let nombre = "blood\(i)"
        rocketAnimation.append(SKTexture(imageNamed: nombre))
        print("Inside the appending of images for animation!")
    }

    animateRocketAction = SKAction.animate(with: rocketAnimation, timePerFrame: 0.20, resize: false, restore: false )
    self.run(SKAction.repeatForever(animateRocketAction))




    if Int(randomBetweenNumbers(firstNum: 0, secondNum: 10)) >= 6 {

        item = SKSpriteNode(imageNamed: "blood1")
        item?.name = "blood1"
        item?.setScale(1.5)
        item?.physicsBody = SKPhysicsBody(rectangleOf: item!.size)



    }
    else{
        item = SKSpriteNode(imageNamed: "carrot")
        item?.name = "carrot"
        item?.setScale(0.5)
        item?.physicsBody = SKPhysicsBody(circleOfRadius: item!.size.height / 2)

    }




    item!.physicsBody?.affectedByGravity = false
    item?.physicsBody?.categoryBitMask = ColliderType.ROCKET_AND_COLLECTABLES

    item?.zPosition = 4
    item?.anchorPoint = CGPoint(x: 0.5, y: 0.5)

    item?.position.x = camera.position.x + 900
    item?.position.y = randomBetweenNumbers(firstNum: minY, secondNum: maxY)

    return (item)!
}

我也尝试做SKSpriteNode(texture:rocketAnimation),显然,我使用的是图像列表,所以它不允许我这么做。

0 个答案:

没有答案