gpt4 book ai didi

ios - 将粒子发射器添加到 FlappySwift 项目

转载 作者:搜寻专家 更新时间:2023-11-01 05:43:24 25 4
gpt4 key购买 nike

我今天一直在玩 Swift,我 fork 了 FlappyBird 的克隆并进行了一些更改,比如添加碰撞检测。

我希望在小鸟撞击管道时发射一些粒子,所以我阅读了一些资料并找到了 SKEmitterNode 类。然而,所有文档都在 Objective-C 中,所以我不得不将其全部转换为 Swift,因为目前在线上没有关于如何在 Swift 中使用 SpriteKit 的内容。

这就是我尝试创建发射器的方式

// sparkles and burstEmitter are defined as class variables
sparkles = SKTexture(imageNamed: "bird-01") //reusing the bird texture for now
burstEmitter = SKEmitterNode()
burstEmitter.particleTexture = sparkles
burstEmitter.position = CGPointMake(200, 200)
burstEmitter.particleBirthRate = 20
burstEmitter.numParticlesToEmit = 200;
self.addChild(burstEmitter)

这样看起来对吗?

当我构建时,我在屏幕上看不到任何粒子。

我的 fork 的完整源代码在 github 上 - https://github.com/jolyonruss/FlappySwift

感谢您的帮助

最佳答案

您还可以通过 .sks 文件使用 Xcode 6 自己的粒子编辑器。

这是我在 Swift 中编写的一些代码,它的额外好处是能够在 XCode 中编辑粒子效果

//spark particle effect

let sparkEmmitterPath:NSString = NSBundle.mainBundle().pathForResource("sparkParticleEffect", ofType: "sks")

let sparkEmmiter = NSKeyedUnarchiver.unarchiveObjectWithFile(sparkEmmitterPath) as SKEmitterNode

sparkEmmiter.position = CGPointMake(self.frame.size.width/2, self.frame.size.height/2 - 200)
sparkEmmiter.name = "sparkEmmitter"
sparkEmmiter.zPosition = 1
sparkEmmiter.targetNode = self

self.addChild(sparkEmmiter)

这只是将效果放在屏幕的中央。显然,这可以根据您使用效果的方式进行编辑。希望这会有所帮助。

关于ios - 将粒子发射器添加到 FlappySwift 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24083938/

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