swift - 运行 SKemitter 一次?
问题描述
有没有办法只运行一次 SKemitter?当它与另一个节点碰撞时,我发生了爆炸。问题是爆炸发生了多次,因为它多次击中。我将如何只运行一次?
解决方案
numParticlesToEmit
如果设置了该属性,则 可以使 SKEmitterNode 在发射后停止发射: https ://developer.apple.com/documentation/spritekit/skemitternode/1398043-numparticlestoemit
我相信大多数“爆炸”类型的发射器应该已经设置了该属性。但是我怀疑你的问题是每次有命中时你都会添加一个新的 SKEmitterNode 。
您可以使用布尔值var wasHit = false
来跟踪命中状态。
然后当命中发生时,wasHit
在添加发射器之前进行检查,然后设置wasHit
为true。
推荐阅读
- flutter - 如何更改 Flutter 中 Stepper 的 textStyle?
- java - Java:SimpleDateFormat 没有简化为指定的模式?
- python - 将 Azure 存储 blob 读入 matplotlib
- node.js - 是否可以将 ffmpeg 之类的东西捆绑到节点应用程序中?
- java - 检查两个 cron 表达式是否有重叠时间的 Java 代码
- java - 如何删除具有 OneToMany 关系的实体?
- node.js - Hapi 前端不同的服务器
- c# - 访问动态属性引发了“Microsoft.CSharp.RuntimeBinder.RuntimeBinderException”类型的异常
- django - 当我是 Django 新手时,如何将 request.get 传递给表单标签的 action 属性
- docker - 在 3.7-slim-buster 映像上安装 mongodb,以使用 mongoimport