The deliverables will be the source code of 5 classes that implement the rendering of a visual transition between two MovieClips, based on the video excerpts provided as attachments.
Each class must comply to the following technical constraints:
1. Actionscript 3
The programming language must be Actionscript 3.
The class must implement the interface "FXInterface" (see attachments) and must provide an override for the 3 methods ("prepare()", "apply()" and "restore()") in the way described in the documentation page of this interface (see attachments).
Specific variables (minimum 1 and maximum 6) must be implemented to permit to change the behavior of the effect (e.g. the movement direction, the width & height of the generated elements, the color in use, the alpha level, etc.). The class must extend class "FXBase" (see attachments) in order to manage these variables in the same way than the other classes. These variables must be declared in the constructor of the effect via "registerParameter()" and must be recovered in "apply()" via "getParameter()". For a detailed description of these methods, read the documentation page of "FXBase" (see attachments).
4. 3D effects
If the video excerpt shows 3D effects, the implementation must use the new 3D feature of Adobe Flash CS4.
5. One single file
The whole implementation must be strictly contained in one Actionscript class (no external files, no graphical components) and this class will be written in a file named "FX[effect-name].as". If you need to a graphical element, it must be turned into Actionscript code by using the standard feature of Adobe Flash CS4, and then integrated into the class.
The code must be written in English (var/function names, comments) and any part that would not be clear for an experienced coder must be documented.
7. Test method
The class must behave correctly when used in "FXTester" (see attachments): playing with the slider and the 3 buttons (in any order) must not show inappropriate results.
8. Visual quality
The graphical quality must be higher than the video excerpts (mentioned here above): professional look, no pixelation, no lag in movements, no imprecise XY positions.
9. Frame rate
The code must be optimized in such a way that the frame rate measured by "FXTester" (see attachments) is higher than 15fps with a computer 2 years old. FXTester does nothing more than running two instances of the effect simultaneously on two different sets .
When all of these requirements are met, the project will be considered completed and the payment will be released.