Improved Particle Behavior


  • *
  • Posts: 1753
Enables this actor to create other actors as particle effects. The particle effects can be created at a random position or at a circumference, and can be pushed to random directions or to specific points.

Comes with two custom blocks:

SetParticleIndex: adds or remove a particle index from the active list.
SetParticlePreset: activates the particles, selecting one of the configured presets.

-StartEmitting: activate particles.
-StopEmitting: deactivate particles.

Attributes to Save:

_Activate: if the particles are active.
_ParticlesOn: list of particle indexes active.

This is an updated version of my old Particles behavior. Previously, you could only have one set of particles at a time, with a single movement setting. Now, this works with multiple particles, with individual settings and timers.  Particles now are configured in a list, each index corresponding to a particle, or set of particles, that follow their own spawn and movement setting. You can individually turn on and off each particle index,  and you can also quickly call a set of particles with the new custom blocks. Speaking of...

Custom Blocks
Set Particle Index: turns on or off a particle index. A use case is, for example, you are using indexes 0 to 3 for some special effects, and you can turn index 4 on to show a poison effect. You can turn that index off when the poison effect is done, without affecting the other indexes.

Set Particle Preset: a preset is a series of particle indexes that you can turn on and off based on the preset name. For example, you configure indexes 0 to 3 for a special attack, you can configure a preset called "SpecialAttack", and call that using this custom block, turning on those indexes. It won't affect other active indexes.

Drawbacks from the previous version
Since now you configure everything using a list and a map, if you don't follow the formatting, or you type anything wrong, you will get errors. Always double check the attributes' descriptions and your settings.

Another thing is, since this behavior is more versatile, I couldn't realistically test all possible use cases. If you have issues or find anything that you think might be a bug, let me know.

How to Import it
Get the attached file, go to File > Import Resource, Attach to your actor.
Remember to always back up your games before importing new resources. Go to File > Export Game...

I like this, do you have more stuff?
I made an Actor Parallax behavior a couple months ago.

« Last Edit: May 03, 2019, 04:30:57 am by Luyren »


  • Posts: 92
Hi Luyren
You could tell in more detail how to use this behavior? 8)
With my English I do not understand the comments...


  • *
  • Posts: 1753
You attach the behavior to the actor you want to emit the particles from.
You configure the "Particles" list with the format described in the description. There's even an example showing how it's suppose to look like. Each index on that list is a different particle configuration.
You configure the Particles Preset map if you want to use the custom block provided to call several sets t once.

That is as much of an explanation as I can give. If you explain what is the result you are trying to achieve with the particles, I can be more detailed.

Either that or I can post here the descriptions of each attribute so you can run them on google translate or something, if that helps.



  • Posts: 92
Hi Luyren
I would like to improve the visual side.
Your behavior to help me.
Here is a test_example ...
When you click on an actor, scatter it ...
If it’s not difficult for you to supplement it.
This will advance my skill.

« Last Edit: September 01, 2019, 10:01:28 am by 1968 »


  • *
  • Posts: 1753
Attached one way to configure it. Place your actor on the scene and test game.
Note that you have to code yourself when to kill the particle actors. A "when created, do after time, kill self" should be enough.


  • Posts: 92
Hello Luyren,
I realized that the text file is split into attributes.
The second list allows you to save presets.
HTML 5 Test OK!
Thank you ;)