Анимация снаряда SKSpriteNode в 2D платформере в Swift

Итак, я делал урок, и почти единственная анимация, которую мы сделали, - это анимация игрока в MainCamera.

Теперь я хотел бы оживить снаряды, которые появляются в случайном порядке в GameplayScene.

Я получил это, и все же я все еще не получил желаемый результат использования [SKTexture] в SKSpriteNode для анимации. Я получил это сейчас:

    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 ответов

Другие вопросы по тегам