首页 > 解决方案 > Unity Particles 不适用于自定义脚本

问题描述

几周前我开始了我的游戏开发之旅,我很享受它,但有时当事情不起作用时,它会变得令人沮丧。

我为粒子系统写了一个非常基本的代码,如果我们按空格键,粒子就会播放。问题是它没有播放,当我点击播放时,由于某种原因它不起作用。当我单击场景中的粒子时,它会起作用,当我在清醒时检查播放时它也起作用

代码

[SerializeField] ParticleSystem engineBoostParticle;
[SerializeField] ParticleSystem sideEngineParticles;

void Start()
{

}

void Update()
{
ThrustingInput();
}

void ThrustingInput()
{
    if (Input.GetKey(KeyCode.Space))
    {
        if (!engineBoostParticle.isPlaying)
        {
            engineBoostParticle.Play();
        }
    }
    else
    {
        AS.Stop();
        engineBoostParticle.Stop();
    }
}

标签: unity3d

解决方案


你想检查engineBoostParticle.isEmitting以及isPlaying在你的if声明中。您的系统可能正在播放,但没有发射(因为循环已结束),因此请确保粒子系统也正确循环。


推荐阅读