Version: 2020.1
public void Play ();
public void Play (bool withChildren);

参数

withChildren 还播放所有子代粒子系统。

描述

启动粒子系统。

将粒子系统设置为播放模式并启用发射(如果已禁用)。

如果粒子系统已 paused,则从最后时间继续播放。\ 如果粒子系统 stopped,则系统从时间 0 开始,如果相关,则应用 startDelay

另请参阅:StopPauseisEmitting 函数。

以下示例将创建用于操作粒子系统的 GUI 窗口。

using UnityEngine;

public class ParticleSystemControllerWindow : MonoBehaviour { ParticleSystem system { get { if (_CachedSystem == null) _CachedSystem = GetComponent<ParticleSystem>(); return _CachedSystem; } } private ParticleSystem _CachedSystem;

public Rect windowRect = new Rect(0, 0, 300, 120);

public bool includeChildren = true;

void OnGUI() { windowRect = GUI.Window("ParticleController".GetHashCode(), windowRect, DrawWindowContents, system.name); }

void DrawWindowContents(int windowId) { if (system) { GUILayout.BeginHorizontal(); GUILayout.Toggle(system.isPlaying, "Playing"); GUILayout.Toggle(system.isEmitting, "Emitting"); GUILayout.Toggle(system.isPaused, "Paused"); GUILayout.EndHorizontal();

GUILayout.BeginHorizontal(); if (GUILayout.Button("Play")) system.Play(includeChildren); if (GUILayout.Button("Pause")) system.Pause(includeChildren); if (GUILayout.Button("Stop Emitting")) system.Stop(includeChildren, ParticleSystemStopBehavior.StopEmitting); if (GUILayout.Button("Stop &amp; Clear")) system.Stop(includeChildren, ParticleSystemStopBehavior.StopEmittingAndClear); GUILayout.EndHorizontal();

includeChildren = GUILayout.Toggle(includeChildren, "Include Children");

GUILayout.BeginHorizontal(); GUILayout.Label("Time(" + system.time + ")"); GUILayout.Label("Particle Count(" + system.particleCount + ")"); GUILayout.EndHorizontal(); } else GUILayout.Label("No Particle System found");

GUI.DragWindow(); } }