【发布时间】:2015-02-06 19:18:43
【问题描述】:
我有下面的功能来显示一个发射器。它应该根据传递给函数的颜色来选择哪个请求文件用于发射器。 sks 文件已根据它们的颜色创建和命名,它们在 Xcode 中显示正确的颜色。
但是,当在模拟器或设备上运行时,sks 文件中的颜色似乎没有得到尊重。无论传入什么颜色,发射器都显示相同的粒子颜色。顺便说一句,这是一个基于火花的发射器。
任何想法我可能做错了什么?
func showEmitter(theColor:String){
var ourEmitterName:String?
switch(theColor) {
case "black","white":
ourEmitterName = "blackwhiteemitter"
default:
ourEmitterName = "\(theColor)emitter"
}
let emitterPath = NSBundle.mainBundle().pathForResource(ourEmitterName, ofType: "sks")
let thisEmitter:SKEmitterNode = NSKeyedUnarchiver.unarchiveObjectWithFile(emitterPath!) as SKEmitterNode
thisEmitter.zPosition = SceneLevel.background.rawValue
self.addChild(thisEmitter)
}
感谢您的帮助 - 肯
【问题讨论】:
-
你能贴出实际调用这个函数的代码吗?也许这有什么问题。您应该记录或设置断点以查看代码的哪些部分实际运行。
-
@LearnCocos2D 非常简单的代码。确实使用了断点。调试器显示没有问题
codefunc correctResponse(thisNode:SKNode){ let mySprite = thisNode as Balloon let thisSpriteColor = mySprite.myColor! self.showEmitter(mySprite.myColor!, theSprite: mySprite) ........ }code