Я создал анимацию из различных PNG, но есть различные кадры, которые простираются до границы, поэтому узел «заполняется».Анимация должна выглядеть как GIF, который я создал, используя те же картинки.Кто-нибудь знает, как сделать анимацию похожей на GIF?
GIF: Gif: анимация должна выглядеть следующим образом
Фактически: очень медленно Фактический результаткод
Граница: Здесь вы можете увидеть границу физического тела, которая имеет тот же размер, что и "граница узла"
Я пыталсяисправить проблему, переключив scene.scalemode.Далее я попытался сделать размер узла зависимым от размера текстур.Ни один не выглядел как GIF.
class GameScene: SKScene {
var player = SKSpriteNode()
var frames : Array = [SKTexture]()
override func didMove(to view: SKView) {
//Color: Placeholder; Size should be size of original frames
player = SKSpriteNode(color: .red, size: CGSize(width: 500, height: 1000))
//Physics
player.physicsBody = SKPhysicsBody(rectangleOf: player.size)
player.physicsBody?.affectedByGravity = false
//Init the frames to the array
for i in 1...6 {
frames.append(SKTexture(imageNamed: "playerRunLeft-\(i)"))
}
// Tried to make the player size dependent on the image size - didn't work out
// for i in frames {
// player.size = i.size()
// }
//Attach the action
let runAction = SKAction.animate(with: frames, timePerFrame: 0.3)
player.run(SKAction.repeatForever(runAction))
//Add to scene
addChild(player)
}
}