.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the Particles2D.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.

.. _class_Particles2D:

Particles2D
===========

**Inherits:** :ref:`Node2D<class_node2d>` **<** :ref:`CanvasItem<class_canvasitem>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`

**Category:** Core

Brief Description
-----------------

2D particle emitter.

Member Functions
----------------

+----------------------------+-----------------------------------------------------------------------+
| :ref:`Rect2<class_rect2>`  | :ref:`capture_rect<class_Particles2D_capture_rect>` **(** **)** const |
+----------------------------+-----------------------------------------------------------------------+
| void                       | :ref:`restart<class_Particles2D_restart>` **(** **)**                 |
+----------------------------+-----------------------------------------------------------------------+

Member Variables
----------------

  .. _class_Particles2D_amount:

- :ref:`int<class_int>` **amount** - Number of particles emitted in one emission cycle.

  .. _class_Particles2D_draw_order:

- :ref:`DrawOrder<enum_particles2d_draworder>` **draw_order** - Particle draw order. Uses ``DRAW_ORDER_*`` values. Default value: ``DRAW_ORDER_INDEX``.

  .. _class_Particles2D_emitting:

- :ref:`bool<class_bool>` **emitting** - If ``true`` particles are being emitted. Default value: ``true``.

  .. _class_Particles2D_explosiveness:

- :ref:`float<class_float>` **explosiveness** - How rapidly particles in an emission cycle are emitted. If greater than ``0``, there will be a gap in emissions before the next cycle begins. Default value: ``0``.

  .. _class_Particles2D_fixed_fps:

- :ref:`int<class_int>` **fixed_fps**

  .. _class_Particles2D_fract_delta:

- :ref:`bool<class_bool>` **fract_delta**

  .. _class_Particles2D_h_frames:

- :ref:`int<class_int>` **h_frames** - Number of horizontal frames in ``texture``.

  .. _class_Particles2D_lifetime:

- :ref:`float<class_float>` **lifetime** - Amount of time each particle will exist. Default value: ``1``.

  .. _class_Particles2D_local_coords:

- :ref:`bool<class_bool>` **local_coords** - If ``true`` particles use the parent node's coordinate space. If ``false`` they use global coordinates. Default value: ``true``.

  .. _class_Particles2D_normal_map:

- :ref:`Texture<class_texture>` **normal_map**

  .. _class_Particles2D_one_shot:

- :ref:`bool<class_bool>` **one_shot** - If ``true`` only one emission cycle occurs. If set ``true`` during a cycle, emission will stop at the cycle's end. Default value: ``false``.

  .. _class_Particles2D_preprocess:

- :ref:`float<class_float>` **preprocess** - Particle system starts as if it had already run for this many seconds.

  .. _class_Particles2D_process_material:

- :ref:`Material<class_material>` **process_material** - :ref:`Material<class_material>` for processing particles. Can be a :ref:`ParticlesMaterial<class_particlesmaterial>` or a :ref:`ShaderMaterial<class_shadermaterial>`.

  .. _class_Particles2D_randomness:

- :ref:`float<class_float>` **randomness** - Emission lifetime randomness ratio. Default value: ``0``.

  .. _class_Particles2D_speed_scale:

- :ref:`float<class_float>` **speed_scale** - Particle system's running speed scaling ratio. Default value: ``1``.

  .. _class_Particles2D_texture:

- :ref:`Texture<class_texture>` **texture** - Particle texture. If ``null`` particles will be squares.

  .. _class_Particles2D_v_frames:

- :ref:`int<class_int>` **v_frames** - Number of vertical frames in ``texture``.

  .. _class_Particles2D_visibility_rect:

- :ref:`Rect2<class_rect2>` **visibility_rect** - Editor visibility helper.


Enums
-----

  .. _enum_Particles2D_DrawOrder:

enum **DrawOrder**

- **DRAW_ORDER_INDEX** = **0** --- Particles are drawn in the order emitted.
- **DRAW_ORDER_LIFETIME** = **1** --- Particles are drawn in order of remaining lifetime.


Description
-----------

2D particle node used to create a variety of particle systems and effects. ``Particles2D`` features an emitter that generates some number of particles at a given rate.

Use the ``process_material`` property to add a :ref:`ParticlesMaterial<class_particlesmaterial>` to configure particle appearance and behavior. Alternatively, you can add a :ref:`ShaderMaterial<class_shadermaterial>` which will be applied to all particles.

Member Function Description
---------------------------

.. _class_Particles2D_capture_rect:

- :ref:`Rect2<class_rect2>` **capture_rect** **(** **)** const

.. _class_Particles2D_restart:

- void **restart** **(** **)**


