Version 3.0.0 of Flint released

Posted on

Today I released version 3.0.0 of Flint. The core architecture of Flint remains unchanged but a number of details have changed. In particular many APIs have changed, which is why the major version number has changed.

The driver for this change was switching the 3D libraries to use Flash's native 3D geometry classes and the consequential dropping of support for Flash Player 9.

The main changes are

  • Flint no longer supports Flash Player 9. The minimum requirement for Flint is now Flash Player 10.
  • All three-d geometry uses Flash's native Vector3D and Matrix3D classes, where previously Flint had its own custom Point3D, Vector3D and Matrix3D classes.
  • The coordinate system for Flint's own 3D renderers was altered to a right-hand coordinate system, and an initial camera position with with x-axis to the right, y-axis down and z-axis into the screen to match the coordinate system used by the Flash Player. This doesn't affect renderers that use Away3D or Papervision3D.
  • Internally, Flint uses Vectors rather than Arrays in a number of places. This affects many methods including the particle utils methods createPixelParticlesFromBitmapData and createRectangleParticlesFromBitmapData and the actions, initializers and activities properties of the Emitter class.
  • The Emitter's addExistingParticles method was replaced with addParticles, and supplemented with removeParticles, addParticle and removeParticle.
  • The Emitter's particles property no longer returns the actual particles array used internally by the Emitter. Instead it returns a vector containing all the particles. This frees the Emitter to use a different internal representation of the particles collection. If behaviours need the Emitter's space-sorted array of particles they should use the new read-only particlesArray property.
  • The energyEasing classes are no longer required. All easing functionality in Flint uses standard easing classes, as included in Flint's easing package and in Adobe's mx.effects.easing package.
  • The WrapAroundBox action was added. This causes particles to re-enter on the opposite side when they leave the defined area.
  • The Ring display object was added (contributed by Adrian Stutz).
  • A new Stats tool was added for displaying frame-rate, memory use and the number of particles in use.

The full list of commit notes is on Github.

All examples on this site have been updated to the new version.

If you have existing Flint projects, some code from version 2.x.x will continue to work unaltered (this is more likely with 2D particle effects than 3D effects). Other code will require minor changes.

Get the new version from the source code page and let me know of any bugs. If you want to contribute to the next version of Flint, fork the project on Github.

Share this post or a comment online -

Also in the collection Flint Particles