unity3d - 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();
}
}
解决方案
你想检查engineBoostParticle.isEmitting
以及isPlaying
在你的if
声明中。您的系统可能正在播放,但没有发射(因为循环已结束),因此请确保粒子系统也正确循环。
推荐阅读
- c# - 如何在 CollectionView 中使用 FindByName
- angular - 为什么输入没有从 FormArray 显示
- python - 改变 JSON 序列化对象的形状 Django REST 框架
- flutter - 未读消息总数
- tensorflow - 删除 TensorFlow 扩展中的停用词
- python - NumPy 渐变在图像上的工作方式不同吗?
- c# - 如何为 EF Core 中的单个查询设置命令超时?
- javascript - 如何避免 Reactjs 中的输入值重置?
- laravel - 调用未定义的函数 factory()
- python - 当我想定义垃圾箱的数量时,有什么方法可以使用 np.digitize 吗?