gpt4 book ai didi

swift - 制作爆炸动画SKaction并移除

转载 作者:行者123 更新时间:2023-11-28 11:13:42 27 4
gpt4 key购买 nike

我想在两个 Sprite 节点发生碰撞时为我的游戏制作动画。所以我创建了这个函数:

func contactEntreMeteorites(Meteorites : SKSpriteNode , Meteorites2 : SKSpriteNode){

Meteorites.removeFromParent()
Meteorites2.removeFromParent()

let ExplosionTexture1 = SKTexture(imageNamed: "Explosion1.png")
let ExplosionTexture2 = SKTexture(imageNamed: "Explosion2.png")
let ExplosionTexture3 = SKTexture(imageNamed: "Explosion3.png")
let ExplosionTexture4 = SKTexture(imageNamed: "Explosion4.png")
let ExplosionTexture5 = SKTexture(imageNamed: "Explosion5.png")
let ExplosionTexture6 = SKTexture(imageNamed: "Explosion6.png")
let ExplosionTexture7 = SKTexture(imageNamed: "Explosion7.png")
let ExplosionTexture8 = SKTexture(imageNamed: "Explosion8.png")
let ExplosionTexture9 = SKTexture(imageNamed: "Explosion9.png")
let ExplosionTexture10 = SKTexture(imageNamed: "Explosion10.png")
let ExplosionTexture11 = SKTexture(imageNamed: "Explosion11.png")
let ExplosionTexture12 = SKTexture(imageNamed: "Explosion12.png")

let animateExplosion = SKAction.sequence([
SKAction.waitForDuration(0, withRange: 0),
SKAction.animateWithTextures([ExplosionTexture1,ExplosionTexture2,ExplosionTexture3,ExplosionTexture4,ExplosionTexture5,ExplosionTexture6,ExplosionTexture7,ExplosionTexture8,ExplosionTexture9,ExplosionTexture10,ExplosionTexture11,ExplosionTexture12 ], timePerFrame: 0.1)
])

Explosion = SKSpriteNode(texture: ExplosionTexture1)
Explosion.position = CGPointMake(Meteorites.position.x, Meteorites.position.y)
Explosion.runAction(animateExplosion)
self.addChild(Explosion)

}

此代码完美运行,但我不知道如何在我的 SKAction sequence animateExplosion 完成时删除 SpriteNode“Explosion”。

感谢您的帮助 :) 抱歉我的英语不好,我是法国人 ;)

最佳答案

您实现了错误的方法。代替runAction:,实现runAction:completion:completion 方法将在完成时被调用! 所以这是移除爆炸节点的地方。

关于swift - 制作爆炸动画SKaction并移除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33266503/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com