【问题标题】:Detecting when SKEmitterNode particle makes contact with another SKNode检测 SKEmitterNode 粒子何时与另一个 SKNode 接触
【发布时间】:2014-05-21 11:06:11
【问题描述】:

有谁知道我如何检测SKEmitterNode 粒子何时与SKScene 中的SKNode 接触?

当粒子与我正在创建的 2D 游戏接触时,我想对 SKNode 施加一点力。

【问题讨论】:

    标签: sprite-kit sknode skemitternode


    【解决方案1】:

    你不能。您无法获得单个粒子的位置、大小和其他属性。

    粒子系统的本质是它的粒子是极简的并且在粒子系统的完全控制之下。因此,您通常无法访问游戏引擎中的单个粒子,主要是因为这样做没有意义。

    可以在常规 sprite 上构建专门的粒子发射器,您可以在其中访问粒子并且粒子可以具有物理体。其他引擎也有解决方案,但我不知道有一个适用于 Sprite Kit 的解决方案。这些总是比常规粒子发射器慢,尤其是在启用物理的情况下,这会迫使您一开始就使用更少的粒子。

    【讨论】:

    • 是的,我读过关于 SKEmitterNode 的文章,你不能有一个实体,但我设计了一个游戏,它使用 SKEmitterNode 来产生“浇水”的效果带软管的花园”,因此粒子基本上形成统一的“弧”型形状,如果 SKNode 与此“弧”相交,那么我希望对 SKNode 施加一些力。我想我只需要根据我应用于 SKEmitterNode 的属性以某种方式计算弧形,如果我的 SKNode 对象与之相交,则施加力。
    • 通常,开发人员会“射击”附着有物理实体的不可见节点,形成弧线。然后,当您对节点的移动方式感到满意时,您将设计一个与(现在不可见)物体的移动紧密匹配的粒子发射器。形式(图形)遵循功能(游戏性)。 ;)(AAA 开发人员有时会倒退。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多