Author
Topic: Particle Editor (Read 8288 times)

MrTAToad

It does run somewhat faster than the original of course - I may put it a proper frame rate limiting system rather than calculating the differences between two GETTIMERALL calls (like in the original). Everything in the original is included.

By the way, once you've chosen a background, it can't currently be removed

The following instructions are from the original instruction file :

Point weightThe “weight” of each particle. Negative values will cause the particles to rise. Positive values will cause them to fall.

Point scale Min / Point scale MaxThe range for the scale of each individual particle when it is spawned.

Scale factorThe factor by which the particle scale changes every second.

Rotation factor The factor (in degrees) by which the particle rotation changes every second.

Emitter ConeThe angular range of the emitter. An explosion might use a full 360° whereas a booster rocket might use just 20°.

Emit Min Distance/ Emit Max Distance The distance range a particle will spawn from the actual emitter position (in pixels).

Red / Red Factor, Green / Green Factor, Blue / Blue FactorEach color channel (RGBA) has an initial value and a factor by which it can change over one second. To start with full alpha, Alpha = 1.0, to fade alpha over 2 seconds, Alpha Factor = 0.5 Particles “die” when their alpha value or scale drops to zero.

Burst CountThe number of particles emitted per “Burst”. Bursts are usually restricted to 20 per second to ensure frame rates do not affect the particle emitter results.

X Handle / Y Handle The handle position for the image. Important if the particles rotate. Note that the GLBasic value usage is slightly different to the original, whereby this is value is now an offset from the centre of the image, rather than from the top-left of the image

Alpha BlendThis is another difference - the sign of this value is used to define how alpha bending is used. For values > 0, additive alpha blending is used, for < 0, Interpolated alpha blending is used whilst with 0, no alpha blending is used

Image fileThe bitmap file used to create the particles. Only PNG files can be used

All the original example files are included.

Click on "SAVE" to save your settings in the Particles directory, "LOAD" to load them in, "IMAGE" to select a graphic (this will overwrite the current one), "UPDATE" to update any modified values (this is needed after changing anything) and "BACKGROUND" to select a background...

I comment in another Post... I think it´s a very impressive tool, but I think it´s more friendly can change the values whit Sliders or another method, than put manually... like in the 3D soft, in most cases in some plugins or some parts they put sliders.... and well... if you permet if was mine the application I add something, like AUTO-UPDATE or NOT...

MrTAToad

I had though about using sliders when I started the conversion process, but as you can see, it allows values with up to 9 DP, which would mean it would be rather tricky getting that accuracy with a slider - and a very small value does make a lot of difference!

The Alpha factor is the speed at which the alpha value is updated.

Auto updating could be done, but then I would need to check for a keypress for all the text boxes...

Strangely enough I had been in the process of converting the exact same lib, I got as far as the particle system but not the MaxGUI util.

This should save me that that job, that's a nice surprise!

Logged

Cheers,

Ian.

“It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration.”(E. W. Dijkstra)

You could have both sliders and text boxes.When sliding, show its current value in the text box.And when entered directly into a text box, update its corresponding slider.

And, if you want to allow negative values, just set and scale the slider properly.If you want between -10 and +10 (that's 21 unique values), just set the slider from 0 to 20.Then to calculate the actual value, subtract 10.