问题标签 [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 回答
404 浏览

sprite-kit - 无法在 iOS9 中重用具有不同父级的发射器节点

我正在尝试汇集我的粒子发射器节点。当需要它们时,我通过将它们从旧的父节点中删除并将它们作为 SKSpriteNode 的子节点添加到新位置来重新使用它们。我将发射器节点位置设置为 0,0,因此发射器应该出现在其新父精灵节点的中心。

发射器第一次作为子节点添加到精灵节点时会正确显示,但在随后的尝试中根本不会显示。这一切在 iOS8 中运行良好,仅在 iOS9 中被破坏(在 iOS9 中似乎有很多粒子发射器错误?)

当我需要放置粒子效果时,这是我的代码的基本示例:

这在 iOS8 中完美运行——我可以在新位置重复使用我的发射器节点。在 iOS9 中,节点仅在此代码第一次运行时出现,之后不再出现。您对我如何解决此问题有任何见解吗?谢谢!

0 投票
0 回答
63 浏览

ios - 将父节点重新添加到场景中时粒子效果停止

我将 SKEmitterNode 附加到 SKSpriteNode。一开始,一切都很好。但是更改精灵节点的父节点后,粒子效果由于某种原因停止了。

要将发射器节点附加到精灵节点,在精灵节点类中:

在游戏场景中,我首先将 sprite 节点附加到 NodeA,粒子效果按预期工作:

但是当我更改精灵节点的父节点时,粒子效果停止了:

任何想法如何解决它?

0 投票
1 回答
95 浏览

swift - 通过粒子层触摸

我有一个非常简单的粒子设置,其中雨粒子层位于我的整个 SKScene 之上。现在,我只想触摸该层下方的按钮和对象。我怎样才能通过仍然将此层保持在最高 zPosition 上来实现这一点。(代码如下)

0 投票
0 回答
127 浏览

ios - SpriteKit 粒子发射器闪烁

我曾经SKEmitterNode建立雪动画,并设置SKView它,当SKView在 a中使用它时ViewController,由于某种原因,SKView它的背景颜色闪烁为黑色,然后又恢复正常(设置为clearColor)。

有没有人有同样的经历,并且对如何解决这个问题有任何想法?

0 投票
1 回答
54 浏览

ios - SKEmitterNode targetNode 路径如下反转

我创建了一个 SKEmitterNoder(标准 Fire.sks 模板)并将其添加到一个名为 ball 的 SKSpriteNode 中。问题是,我按照教程的 iOS 游戏教程以及他们教我创建平铺地图的方式,基本上是在初始化时翻转它们,这样 (0, 0) 将位于屏幕的左下角而不是左上角. 我认为这会影响我的 SKEmitterNode targetNode 属性,因为当球在场景中移动时,火发射器节点会朝完全相反的方向移动。有人能告诉我该怎么做才能改变吗?我无法更改世界参数,所以我需要一些可以改变 SKEmitterNode 轨迹的东西,以便它实际上正确地跟随球节点。这是我当前的代码:

PS _entityNode 是一个 SKNode,它同时添加了 ball 和 SKEmitterNode 火。它又是一个名为 _worldNode 的 SKNode 的子节点。_worldNode 是 self 的孩子(这是一个 SKScene)。这个 _worldNode 是一个翻转后的 (0, 0) 坐标从左下角开始。

0 投票
2 回答
332 浏览

ios - 如何让子节点对父节点轮换无效?

作为一个孩子,我正在尝试添加SKEmitterNode到球SKSpriteNode中。但同时,我是rotating我的球节点。但问题是,球节点的旋转会导致发射器节点旋转(因为发射器节点是球节点的子节点)。有什么办法可以不旋转发射器节点,而是旋转球节点吗?

我将球节点添加为:

我将发射器节点添加为:

当球撞到墙上时,我正在旋转球:

是否可以旋转父节点但不能旋转其子节点?

0 投票
0 回答
51 浏览

ios - 如何检测 SKEmitterNode 何时发射了 Sprite Kit 中的所有粒子?

SKEmitterNode例如,可以通过设置为 100来限制发射的粒子数量numParticlesToEmit。如何检测SKEmitterNode发射所有粒子的时间?

0 投票
1 回答
696 浏览

ios - How to move emitter node to front?

Background's zPosition is 1 and emitter node's is 2. Still background is on front. I even tried higher numbers, but it won't help.

Code

0 投票
0 回答
48 浏览

ios - SKEmitterNode 粒子在创建时聚集在一起

我有一个 SKEmitterNode 在不同版本的 iOS 中表现得很奇怪。如果您查看下面的屏幕截图,您会看到当我的场景加载时,我使用的发射器在场景首次加载时会倾倒一组奇数的雨滴。

在此处输入图像描述

在此处输入图像描述

最奇怪的是,这发生在某些 iOS 版本(如 8.1 和 9.2)中,但在其他一些版本(如 9.0 和 7.0)中,它按预期运行。(意味着没有初始的水滴聚集,只是随机间隔的水滴。)

这是我在 didMoveToView 中的代码:

我曾尝试使用 AdvanceSimulationTime 方法,但由于某种原因,即使在延迟之后,水滴组仍然会下降。

我也尝试过改变位置范围的 y 大小,因为我认为我的高度 5 导致了这种情况,但即使我使高度等于屏幕大小,也没有任何改变,并且高度 5 仍然适用于其他iOS 版本。

任何人都知道为什么会发生这种情况以及解决方案/解决方法?提前致谢。

0 投票
1 回答
58 浏览

ios - 将不同的发射器分配给随机的不同节点

我的第一个应用程序中有基本的发射器节点。我创建了一个常量文件,它引用了我游戏中的所有节点,并将它们转换为字符串。非常适合迷你数据库。它是一个基本的打鼹鼠游戏,除了我有 12 个不同的角色。

游戏场景代码

这在我的didMoveToView方法中被调用:

这在我的touchesDidBegin方法中被调用:

我创建了自己的自定义类WhackSlot来处理charEnemy节点和charFriend

我创建了一个自定义类Slot

所以它从我的常量文件中提取数据,其中纹理已转换为字符串:

我有它,其中 Image 代表一个SKAction播放与我的常量文件相关的音频文件。我想让每个图像都有自己的发射器,而不是仅仅在触摸位置给星星。

到目前为止我尝试过的东西:无尽的教程,RW,卡通智能。我有一个发射器工作,我可以分配一个不同的发射器charFriendcharEnemy但我可以为每个动物分配自己的发射器,我尝试添加结构常量,没有骰子,我尝试了 if-else 语句打破每个图像但charFriend取代它和对于charEnemy,

这和在我的常量中为每个单独的图像添加一组声音是我的挂断。

任何的意见都将会有帮助。我已经对游戏场景进行了硬编码,第 2 版将完全在 SpriteKit 场景编辑器中完成。这是我将我的第一个应用程序提交到 App Store 之前的“Juice”的最后一次。任何指导将不胜感激。

传承永恒。

正在使用的最新软件。

一个小技巧,我在漫长的旅程中学到了,如果你让你的游戏场景与 Apple TV 通用资产 @1X 的大小相同,为所有设备优化,并且对于奇怪的 iPad 屏幕,只需将你的 BGNode 扩展一点高于参数,它就会也会自动将自身转换为适合。