首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SKEmitterNode未显示粒子

SKEmitterNode未显示粒子
EN

Stack Overflow用户
提问于 2016-03-09 20:18:55
回答 2查看 457关注 0票数 1

我想知道我的代码出了什么问题,它不能正确显示粒子。

这是预期的粒子

实现

physicsWorld.contactDelegate = self

代码语言:javascript
复制
    self.scene?.backgroundColor = UIColor.blackColor()

    self.scene?.size = CGSize(width: 640, height: 1136)

    self.addChild(SKEmitterNode(fileNamed: "MagicParticle")!)
EN

回答 2

Stack Overflow用户

发布于 2016-03-09 22:59:07

您应该首先尝试安全地解开粒子文件,以确保它不会为空

代码语言:javascript
复制
 if let particle = SKEmitterNode(fileNamed: "MagicParticle") {
    particle.position = ...
    addChild(particle)
 }

奇怪的是,它不工作,看你的照片,你似乎没有一个打字错误。您是否更改了粒子效果中的默认spark.png?尝试清理您的项目,或者删除效果,如果仍不起作用,则重新创建效果

顺便说一句,你可以删除这两个词

代码语言:javascript
复制
 scene?...

你已经在SKScene中了,所以self就是场景,所以你可以这样说

代码语言:javascript
复制
 self.backgroundColor = ...
 self.size = ...

或者更好

代码语言:javascript
复制
 backgroundColor = ...
 size = ...

作为swift中的一个好的编码实践,当编译器强迫你的时候,试着只使用"self“。可以这么说

代码语言:javascript
复制
addChild(...)

而不是

代码语言:javascript
复制
self.addChild(...)
票数 1
EN

Stack Overflow用户

发布于 2017-02-07 04:13:08

我认为您还应该包括文件的扩展名,如下所示。

代码语言:javascript
复制
self.addChild(SKEmitterNode(fileNamed: "MagicParticle.sks")!)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35891416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档