问题标签 [skemitternode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
296 浏览

ios - SKEmitterNode 在模拟物理之前发射粒子

我有一个以我的播放器为中心的 SKEmitterNode 以留下粒子痕迹。我的玩家有一个物理体,它是由物理移动的,而不是通过手动更新它的位置。

我遇到的问题是,当我的玩家速度增加时,粒子会从玩家身后的某个点发射出来。我发现这是因为粒子是在帧周期的“评估动作”部分发射的。我的播放器随后被“模拟物理”部分移动。

我找到的解决方法是将 SKEmitterNode(在更新回调中)移动到我的玩家将在物理计算之后所在的位置。这是我使用的代码:

更新
起初我将发射器作为播放器的子节点,然后是我观察到问题的时候。
我还尝试将发射器位置精确地同步到玩家位置,而不考虑自上次更新以来移动的距离(速度 * dt),同样的问题。

我的问题是,解决这个问题的正确方法是什么?

更新 2
我创建了一个游乐场来演示这个问题。在这里,我将发射器作为玩家的孩子。玩家速度增加得越多,玩家和发射粒子之间的间隙就越大。
https://github.com/ovidiupruteanu/SKEmitterNodeTest-Playground


这是来自苹果文档的帧周期 在此处输入图像描述

0 投票
1 回答
1999 浏览

swift - 节点的路径粒子效果与 SpriteKit

我正在使用 Swift、Sprite Kit 和 Xcode 6,

我想在SpriteKit中创建一个粒子效果,有点像iOS游戏“Duet”中球的粒子效果,但我不知道如何进行,我设法创建了一个粒子效果,但不是像这个游戏中的粒子跟随一个节点并绘制节点的路径......

这是我的代码:

0 投票
1 回答
678 浏览

ios - spritekit:粒子关键帧序列的问题

这应该很简单。我试图让我的粒子使用关键帧序列淡出..但是当我使用关键帧序列时,它们根本不会淡出。不知道我可能做错了什么。

粒子创建:

在此处将粒子添加到游戏场景

我也尝试过使用更简单的示例。

fire 是 spritekit 默认的“fire”粒子

发射器只发射蓝色粒子。它只是选择数组中的第一个颜色。我肯定错过了什么。

0 投票
1 回答
303 浏览

ios - iPhone 6上的粒子发射器超慢

我正在创建一个使用 iOS Sprite Kit + 粒子发射器的游戏。它在我的模拟器上运行得非常好,但是当我在我的 iphone 6 上运行游戏时,它非常缓慢和滞后,我几乎无法与之互动。

知道为什么模拟器与我的手机如此不同,以及如何修复它的建议吗?非常感谢任何提示!

0 投票
1 回答
322 浏览

ios - 已发布粒子的SKEmitterNode更新速度

使用SKEmitterNodein SprikeKit,是否可以在粒子释放后更改粒子的速度/alpha?

我正在寻找的是一个发射粒子的粒子发射器,这些粒子是静态的,但在 x 秒后,它们开始移动。这可能吗?

0 投票
1 回答
138 浏览

sprite-kit - 在设备上推进模拟时的 exc_bad_access

此错误仅发生在实际设备上。在 Xcode 6 中的模拟器上运行时,它不会崩溃。

我正在创造外太空,并有随机流星划过天空。在场景中,[goToSpace] 被调用,它通过使用三个 SKEmitterNode 来模拟深度来设置星场。然后初始化一个计时器,它发送星星射击。

在星域的初始化中,需要提前模拟三个SKEmitterNodes,以获得满天星辰。当调用 [emitterNode1 advanceSimulationTime:lifetime] 行时,我得到 exc_bad_access。我按照教程启用了 NSZombie,但没有帮助。

我无法终生追查为什么我会获得 exc_bad_access。我使用 Parse.com 的崩溃报告,它给出了这个堆栈:

相关代码:

0 投票
2 回答
1760 浏览

ios - 完成播放后,我是否必须手动从父节点中删除发射器节点?

我目前在我的精灵与游戏中的另一个精灵碰撞时显示粒子效果。

我有这段代码:

我创建的粒子的出生率为 1000 个,最多为 100 个。我将粒子发射器节点的位置设置为我的精灵当前在屏幕上的位置。然后,我将它添加为粒子层节点的子节点。

我的问题是,粒子发射器节点完成后是否必须手动从其父节点中移除?还是 Sprite Kit 播放完毕后会自动删除?

由于我的项目旨在让精灵相互碰撞很多,我想确保我是否仍然需要手动处理以防止内存泄漏(粒子层有很多已经完成播放的子发射器节点)

0 投票
1 回答
84 浏览

sprite-kit - SKEmitterNode 出现问题 - 不显示在 sks 文件中创建的颜色

我有下面的功能来显示一个发射器。它应该根据传递给函数的颜色来选择哪个请求文件用于发射器。sks 文件已根据它们的颜色创建和命名,它们在 Xcode 中显示正确的颜色。

但是,当在模拟器或设备上运行时,似乎不会尊重 sks 文件中的颜色。无论传入什么颜色,发射器都显示相同的粒子颜色。顺便说一句,这是一个基于火花的发射器。

有什么想法我可能做错了吗?

感谢您的帮助 - 肯

0 投票
1 回答
425 浏览

performance - ios粒子发射器 - 如何更快?

我在屏幕上有 9 个方块(BlockView 只是视图的一个子类,具有一些用于跟踪事物的属性),我想在每个方块的顶部后面添加一个烟雾粒子发射器,以添加一些从每个方块的顶部升起的烟雾. 我创建了一个视图来保存块和粒子发射器,并将块放在子视图的前面,这样块就在前面。但是,这会导致我的设备(iphone 6)非常滞后,并且很难用平移手势移动块。

SmokeParticles.sks:出生率 3(最大值设置为 0),寿命 10(100 范围),位置范围在代码中设置。

我为每个视图添加粒子发射器的代码如下(我对粒子发射器不是很好,所以任何建议都值得赞赏!:D)

0 投票
1 回答
145 浏览

sprite-kit - 可以使用 SKFieldNode 来改变粒子的 zRotation 吗?

当使用 SKEmitterNode 作为粒子系统时,我正在尝试使 SKFieldNode 向节点吸引水粒子。当使用radialGravityField之类的场向SKFieldNode的位置移动时,我希望粒子也旋转以面对场节点

SKFieldNode 文档似乎没有提及改变粒子的 zRotation,所以我认为这是不可能的。这里有什么想法吗?

我还能如何实现这种影响?我需要创建自己的粒子系统来实现这一点吗?那会比 SKEmitterNode 慢多少?