Hey,
I've already written some stuff about this module on the game's homepage. If you want to use it too, please feel free (@Ben: I could imagine, that those effects fit pretty well in your "interactives")
The code is still quite dirty, but the usage is easy:
// dissolve the object oThing
oThing.DissolveO(eBlock);
// dissolve the character Bman
cBman.DissolveC(eNoBlock);
There's also an awful configuration function
(but it's totally optional)
setParamDissolve (int height, bool ordered=true, DissolveMode mode=eDissolveForward, DissolveStyle style=eDissolveFadeToNone, bool trace_visible=true, int theDelay=1, int theSpeed=1, DissolveJitterStyle jitterStyle=eDissolveJitterRandom, int px_at_time=1)
;
int height = how high should the dissolved pixels fly
bool ordered = should the sprite be randomly dissolved or from top to bottom
DissolveMode mode= should the sprite be dissolved or resolved
DissolveStyle style = the way the pixels get tinted or blended
bool trace_visible= should the dissolving pixels be shown at all
int theDelay= how fast should the sprite be dissolved (higher = slower)
int theSpeed = the moving speed of the dissolved pixels (higher = faster)
DissolveJitterStyle jitterStyle = the way the dissolving pixel move
int px_at_time= how many pixels at a time are to be dissolved
Unfortunately you can only dissolve one thing at a time.