版本: Unity 6 (6000.0)
语言英语
  • C#

MonoBehaviour.OnParticleSystemStopped()

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交的内容,但我们会阅读用户提出的每个建议更改,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

当系统中的所有粒子都已死亡且不再生成新粒子时,将调用 OnParticleSystemStopped。当调用 Stop 或非循环系统的持续时间属性超过时,新粒子将不再创建。

这可以用于通知脚本何时粒子系统已完成。为了接收回调,您必须将 ParticleSystem.MainModule.stopAction 属性设置为 Callback。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class StoppedScript : MonoBehaviour { void Start() { var main = GetComponent<ParticleSystem>().main; main.stopAction = ParticleSystemStopAction.Callback; }

void OnParticleSystemStopped() { Debug.Log("System has stopped!"); } }

为了检索有关 ParticleSystem 引起的的所有碰撞的详细信息,您必须使用 ParticlePhysicsExtensions.GetTriggerParticles 来检索 Particle 数组。