问题标签 [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.
ios - 是否可以在 SKEmitterNode 上应用过滤器?
我有一个带有 SKEmitterNode 的场景,直接添加到场景中时效果很好。
但是,我想在场景中添加一个 SKEffectNode 来模糊发射器粒子。
这就是它的外观。
这会导致一个空白屏幕。
由于 SKScene 也是 SKEffectNode 的子类,因此我也尝试将 CIFilter 直接添加到场景中。
结果相同。
ios - SKEmitterNode Particle 在 positionRange 之后的实际位置
最终目标:在一个区域内生成粒子(得到那个位),所有粒子都加速到一个点。
如果我知道粒子的位置,一切都会好起来的,但是我使用particleRange 生成粒子,这意味着我不知道每个粒子的确切位置。
有没有办法在每个粒子生成后检索它的位置?
我目前的计划是附加一个带有可以读取最终渲染位置的块的particleAction。
objective-c - Xcode 5.0.2 - 尝试添加一个已经有父节点的 SKNode:
我正在尝试在 touchesBegan 方法中添加粒子效果,因此当用户触摸绘制的精灵(SKSpriteNode)时,它会绘制粒子效果。但是,我收到一个错误Attempted to add a SKNode which has a parent: SKEmitterNode。添加一些上下文...游戏是宝石/糖果迷恋风格,其中根据相邻颜色删除块(deleteNode)。在触摸事件中,我递归地迭代,检查相邻块并将它们添加到数组中以便稍后删除。在删除每个块(deleteNode)之前,我希望粒子事件发生。他们都继承自 SKNode (对吗?),所以我不明白冲突......
在初始化方法中...
在接触开始...
为了确保我没有发疯,我查看了其他论坛并看到了将粒子效果添加到场景中的相同逻辑。提前致谢。如果您需要更多信息,请告诉我。
ios - 如何创建已形成粒子的 SKEmitterNode
我正在尝试使用 SKEmitterNode 创建一个星域,并且我已经让它工作了。问题是当它第一次添加到场景中时,需要几秒钟才能填满屏幕。我希望一旦节点添加到场景中,整个星场就会填满屏幕,然后发射器继续发射粒子。我附上了一个视频链接,展示了它现在的样子。 Dropbox 上的视频
ios - 发射器不随父节点旋转
代码 --> http://pastebin.com/W3DMYjXa
我正在修补 SpriteKit,但我似乎无法让发射器节点按照我想要的方式与我的飞船一起旋转。
我观看了 Apple 技术讲座,他们描述了制造宇宙飞船并使用发射器进行推力排气,但他们将飞船锁定为仅面向一个方向。
在我的实验中,我试图让玩家精灵(宇宙飞船)向任何方向行进,我有旋转和滚动为玩家工作,但粒子发射器似乎没有随着玩家旋转。
我的层次结构看起来像这样
场景
-->世界节点
-->播放器节点
---->玩家精灵
---->发射器节点
我的理论是,如果我旋转(播放器节点),它应该旋转它的两个子节点,并且它确实旋转了它们,但发射器继续朝同一方向发射。
我可以手动更改发射角度,但这似乎不必要地复杂。
这是我用来旋转的
我在这里错过了什么吗?
这是一个实际操作的视频
objective-c - SpriteKit - 显示 SKEmitterNode
如何在没有父节点的情况下显示 SKEmitterNode?我希望我的粒子保持在静止的位置,而发射器移动。但生成的粒子随父节点移动。
ios - 让粒子发射器轨迹跟随 spriteKit 中的手指路径
我在 Xcode 中创建了一个粒子发射器,它有很长的轨迹。当我将它移动到粒子生成器内部时,它会在我的鼠标路径之后留下一条轨迹。
关于我的目标的一些背景信息: 在我的 spriteKit 游戏中,用户在屏幕上拖动手指以拍摄移动的物体。我正在尝试创建“子弹时间”效果,当当前手指位置接触到对象时,对象会减慢并突出显示。当手指停止移动或弹药耗尽时,将触发 touchesEnded 方法,射击所有突出显示的对象。目前,我有他们行进的路径显示为使用 SKShapeNode 和 CGPath 绘制到屏幕上的一条线,但我希望用发射器轨迹突出显示轨迹。
在 touches started 方法中,我创建了一个圆形 SpriteNode,它在手指移动到的任何地方移动(物理碰撞附加到圆圈而不是路径)。我已经将粒子轨迹发射器附加到这个圆圈上,当我在屏幕上移动它时它会随着圆圈移动,但不会留下轨迹。
在 touchesMoved 方法中,我将圆圈相应地移动到新位置
我试过设置pathEmitter.targetNode = self; 像这篇文章让粒子跟随 spriteKit 中的路径建议但是发射器根本没有出现。
如果我将particleAction 设置为followPath 它也不会留下痕迹。
在我的代码中,您可以看到我已经注释掉了一些行,基本上我已经尝试了所有我能想到的 targetNode 和particleAction 组合。
关于如何让发射器在我的手指路径上留下痕迹的任何建议?
谢谢
sprite-kit - 试图从代码中更改我的 SKEmitterNode 发出的粒子的颜色
我有一个应用程序,用户可以在其中编辑发射器节点并截取照片库的屏幕截图。在他们可以更改出生率,角度等内容的设置中。我允许他们更改发射器节点的颜色。
我在用:
它不会改变粒子的颜色。
但是,当我NSLog
向它添加语句并询问它node.particleColor
返回了什么时1 0 0 1
,这是我所期望的,但节点永远不会改变颜色。
关于我可以做些什么来改变它的颜色的任何想法?
sprite-kit - SKAction 随着持续时间淡出
当我触摸屏幕时,我尝试添加一个 Emmiter 节点,并在我松开手指时将其移除(淡出)。但我希望第一个节点留在屏幕上。我究竟做错了什么?
他只运行第一个动作而不是。其他两者都有效。但是当我在我的第一个节点上尝试时,淡出是有效的:
ios - 将掩码应用于 SKEmitterNodes
可能有人可以帮我...我正在尝试在他们自己的 SKCropNodes 中添加几个 SKEmitterNodes。
我的代码:
这是结果:
如您所见,我的红色粒子在左侧蒙版下呈现...为什么?
我试图通过以下方式减小面罩的大小:
这是结果:
我认为这是渲染缓冲区的问题,或者可能是关于 zPosition 的问题,或者是一个错误,或者可能是我真的迷路了。
谢谢