问题标签 [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 投票
1 回答
1597 浏览

opengl-es - Spritekit 和 OpenGL:平滑的烟雾轨迹

我想在我的 Spritekit 游戏中实现这种效果,角色后面有一条平滑的轨迹。

在喷气背包兜风中查看硬币背后的踪迹: 在此处输入图像描述

木星跳跃中英雄背后的这条线索: 在此处输入图像描述

或者 Ski Safari 中英雄背后的这条超级平滑的轨迹: 在此处输入图像描述

这似乎是其他游戏引擎的标准功能?我认为 spritekit 粒子发射器只会提供块状/标记的轨迹,而不是平滑的轨迹。我应该使用某种精灵自定义着色器吗?还有其他创造性的想法吗?

0 投票
0 回答
227 浏览

ios - IOS。SpriteKit:如何在所有游戏场景中使用相同的发射器

我正在使用 SpriteKit 和 Xcode 6 开发游戏。我有一个要在所有游戏场景中使用的 sks 文件。如果我在呈现后将发射器添加到每个场景中,则发射器会在旧场景中停止并在新场景中添加新星,因为它是在每个场景中创建的。

因此,我尝试使用单例类仅创建一次发射器并在所有游戏场景中使用它。我为所有游戏场景创建了一个超类,并在该超类中为所有子场景创建了发射器。但是,我试图通过这些步骤得到的东西不起作用。发射器仍然在每个新场景中停止并开始新的,因为它仍然在每个场景中创建新的。

如何使用相同的发射器只创建一次并在我的所有游戏场景中使用它而不停止并重新启动发射器?

这是我的代码。我错过了什么?

PS 同样的技术适用于音频播放器!http://www.galloway.me.uk/tutorials/singleton-classes/

0 投票
0 回答
69 浏览

ios - SKEmitterNode 设置未出现

我用我想要的设置创建了一个 sks 文件,当我调用将节点添加到场景中的方法时,发射器粒子看起来与我设置的完全不同。有什么理由吗?

我想要的是

我想要的是。

在此处输入图像描述

我得到什么。

0 投票
2 回答
42 浏览

ios - SKEmmitterNode 第一次后未运行

我用下面的代码创建了一个效果。我已经连接了一个按钮,它将作为测试触发。在第一次按下时,效果按预期工作。但是,在所有后续请求中,效果永远不会显示。我已经通过断点确定效果正在被调用,并且在第一次和后续运行中它都进入了完成处理程序。我还检查了作为 runAction 的一部分的“totalTime”变量,并验证了它对于第一次运行和后续运行都是相同的(2 秒)。有趣的是,对于第一次运行,我确实观察到在前面的 if 语句和完成处理程序的断点之间有几秒钟的延迟。然而,对于所有后续运行,在前面的 if 和完成处理程序之间几乎没有延迟。我再次验证了所有运行的持续时间为 2 秒。最后,如果我注释掉[self.view setPaused:YES]在完成处理程序中,效果每次都会运行。尽管如此,通过下面的代码,您可以看到场景之前没有暂停。我以这种方式暂停场景,因为这是一种偶尔的效果,并且我不想使用额外的 CPU 并因此在大多数情况下没有生成这些效果时使用电池。

0 投票
1 回答
1179 浏览

objective-c - 无法让粒子跟随 spriteKit 中的路径

这是 XCode SKEmitter 编辑器中的动画(我想在 iPhone 上实现):

在此处输入图像描述

这是 iPhone 上的动画(我不想要这个动画):

在此处输入图像描述

使用此代码:

这是发射器设置:

在此处输入图像描述

我通过参考这个问题尝试了 runAction 和particleAction ,但它没有像我想要的那样工作......

-----------------更新-------------------------------- --------------

尝试了 hamobi 提到的解决方案(仍然不起作用):

在此处输入图像描述

-----------------更新 2 ------------------------------- ---------------

知道了!感谢 hamobi :D 这是结果 :D:D

在此处输入图像描述

0 投票
1 回答
348 浏览

sprite-kit - 如何向我的 SKSpriteNode 添加爆炸?

正如标题所示,我正在尝试向我的精灵添加一个爆炸粒子发射器,该发射器将在碰撞方法中发生。这是我的代码。

我玩了一下位置和 zPosition,但看不到爆炸。NSLog 说代码被执行但我看不到爆炸。有人可以指导我做错什么吗?也许,如何解决它?

0 投票
1 回答
463 浏览

ios - SpriteKit SKEmitterNode targetNode 崩溃 EXC_BAD_ACCESS

上下文

AnSKEmitterNodesks文件中创建,并作为某个精灵的子项添加。发射器的targetNode设置为场景中的某个其他节点。

迷恋;撞车;崩溃

崩溃只发生在 64 位设备上,这里有一个日志:

0 投票
2 回答
563 浏览

ios - 即使在子节点中,也让我的粒子在 SpriteKit 中的场景中留下运动轨迹

我想要和这个项目一样的效果

但是我的粒子SKEmitterNode不是直接在场景中,而是在子节点中。我的粒子是飞船后面的反应堆效果,我希望它在 SpaceShip 节点移动时在场景中留下痕迹。

现在我的粒子是我的 SpaceShip 的一个子节点,因此,“所有”粒子随着 SpaceShip 移动,所以它只显示一个点并且不会留下痕迹。

我该怎么做 ?

0 投票
1 回答
117 浏览

ios - 飞碟游戏中的发射器使用 (Swift)

我是 stackoverflow 和 Swift 的新手。我正在用 Swift 和 SpriteKit 做一个飞碟游戏,我想在我触摸一个物体时实现破碎的陶瓷效果。除了这个效果,我什么都有。我刚刚创建了我的“Myparticle.sks”并选择了图像、粒子的数量......另外,我正在尝试在 didMoveToView() 方法中添加我的发射器节点,我观察到我可以看到它的效果当显示场景时,但是当我在 touchesBegan() 方法中添加我的发射器节点时,我没有看到它。

我对此有点困惑。

谢谢!

- - - -编辑 - - - -

我在我的课堂上写了这段代码。

然后我在 didMoveToView() 方法中写了这个。有了这个,我可以看到效果。

最后,如果我像以前一样在 touchesBegan() 方法中添加发射器,我什么也看不到。

0 投票
1 回答
310 浏览

sprite-kit - 在 SpriteKit 中绘制褪色线?

我试图弄清楚是否有更好的方法来绘制褪色线,然后是我目前使用的方法。

目前要绘制一条可以在屏幕上移动的渐变线,我正在使用 SKEmitterNodes。然而,SkEmitterNodes 的 CPU 非常昂贵。它们的出生率为 300,能够在屏幕周围移动时保持粗线。有谁知道更好地实现这种褪色线条绘制效果的更好方法?

我正在寻找的效果类似于在 Dark Echo 中绘制的线条。这是一个视频。https://www.youtube.com/watch?v=tuOC8oTrFbM

谢谢,克里斯