Анимация снаряда 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) и, очевидно, я использую список изображений, поэтому он не позволяет мне.