【问题标题】:Trouble with SKEmitterNode - doesn't display colors created in sks fileSKEmitterNode 出现问题 - 不显示在 sks 文件中创建的颜色
【发布时间】: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 非常简单的代码。确实使用了断点。调试器显示没有问题 code func correctResponse(thisNode:SKNode){ let mySprite = thisNode as Balloon let thisSpriteColor = mySprite.myColor! self.showEmitter(mySprite.myColor!, theSprite: mySprite) ........ } code

标签: sprite-kit skemitternode


【解决方案1】:

我发现了问题。在我的发射器中,我将混合模式设置为“添加”。在我将其更改为“Alpha”后,一切正常。

不知道为什么会解决它,因为我不知道“添加”到了什么。

【讨论】:

  • 谢谢,我遇到了同样的问题,更改为 Alpha 版有所帮助。
猜你喜欢
  • 2019-04-03
  • 2011-01-15
  • 1970-01-01
  • 2011-04-30
  • 2017-03-17
  • 2011-08-01
  • 2012-04-29
  • 1970-01-01
  • 2021-04-09
相关资源
最近更新 更多