Version 2.1.0 released
Today I released version 2.1 of Flint. This version includes a significant change for 3D particle effects, a large addition for everyone, and many small additions and improvements.
- Flint is now compatible with the Flex framework. This means, there are now versions of all renderers that extend UIComponent (in addition to the existing one's that extend Sprite). These new renderers can be placed in Flex layouts and with behave appropriately within Flex containers. The new renderers are in the mxml sub-packages and also in the manifest for use in MXML files.
- Further to this, all emitters and actions have been modified or extended to produce MXML compatible versions, so entire particle systems can be created using MXML rather than Actionscript. All the examples in SVN and in the downloads have been implemented in MXML in addition to AS3.
- The 3D geometry classes have been modified. There are now four classes – Point3D, Vector3D, Quaternion, Matrix3D. The Point3D class was introduced to make it simpler to distinguish between points and vectors and provide resulting optimisations in the code. The result is simpler code and slightly better performance of 3D effects.
- All counters now have a complete property to indicate if the counter has finished. Emitters dispatch a counterComplete event when their counter is finished.
- All behaviours (actions, initializers and activities) have a priority property for setting their relative ordering during execution. This is much simpler than the previous getDefaultPriority method and as a side effect results in a small speed improvement. The change will affect developers of custom behaviours, which need to be modified accordingly, but doesn't affect the use of behaviours unless users wish to override the default priority, which is rare.
- The explosion actions can be reset, in order to start another explosion with the same action object.
- clearAllParticles added to the particle factory for releasing all cached particles from memory.
- Fix bug in ChooseInitializer. (Bug report)
- FrameUpdater now stops running when it has no listeners. (Bug report)
Get the new version from SVN or downloads and use the forum to let me know of any bugs you find.
Posted on 23 June 2009
Build scripts and other changes
For the 2.0.1 release I created a single Ant build script to build the swc library, the asdocs, and all the examples. This makes new releases a lot easier and should result in more frequent point updates for bug fixes.
I also abandoned the Flash MXP installer. The main reasons for this are the time it takes to create, and problems with Flash's auto imports - since Flint uses similar class names in the 2D and 3D packages, Flash often imported the class from the wrong package. Couple this to Flash CS4's 3D geometry classes having the same names as Flint's and the result is often confusing, particularly for beginners. The solution, of course, is always to specify your imports but the MXP file encouraged users to let Flash write the imports.
Given that Flash CS4 supports the same swc format as Flex, it's now easy to use Flint with Flash by simply including the Flint SWC in the Flash project.
Posted on 3 February 2009
Version 2.0.1 released
Version 2.0.1 is out. This is in the downloads and is the current SVN trunk. Changes from 2.0.0 are
Changes
- Add clone method to Particle classes
- Add Particle3DUtils class to break an image into 3D particles
- Add 3D explode image example to illustrate Particle3DUtils
Bug fixes
- Correctly set particle's collisionRadius in Particle2DUtils methods
- Set particle's dictionary to use weak references to keys
- Add bitmapData property to the BitmapRenderer to provide direct access to the bitmap data.
- Fix createRectangleParticlesFromBitmapData to place registration point in center of each particle and correctly place particles based on offset values.
- Fix emitter to start the new counter if the counter is set while the emitter is running.
Posted on 2 February 2009
What’s in development
Apologies for the silence. I've been very busy with client work, but have still found small slices of time to work on Flint.
I'll release a 2.0.1 update shortly - just a couple of minor bug fixes and additions. Unless something else comes up in teh next couple of days, it will be exactly the code that is in trunk at the moment.
There are two additional branches in SVN where I'm developing specific new features for a 2.1 release later. When it is released depends on how much time I have available - more about those features in another post.
Also, I want to make additions to this site, including voting on new features and gathering links to off-site tutorials, examples, tools, and information about projects that have used Flint. If you have any Flint related content you want linking to then post about it in the forum or contact me directly. I won't promise to include everything - editorial control will apply - but do send me everything you have.
Posted on 27 January 2009
Version 2.0 released
Version 2.0 is out. The final version is in the downloads, including the full source code, an SWC for Flex, and an MXP for Flash. Since the beta version I've
- Added a number of speed optimizations.
- Fixed emitter rotation in 3D space.
- Tested with Flash CS4.
Posted on 27 October 2008
Speed improvements
I checked in a number of minor changes today. These are mostly minor speed improvements which collectively will add up to a significant improvement for some effects. Most of the changes are to reduce the number of objects that are created and destroyed in the 3D Actions.
Posted on 14 October 2008
Version 2.0 beta released
I added version 2.0 beta to the downloads yesterday. Changes include...
- Added a number of zones to the 3D package - FrustrumZone, ParallelogramZone, BitmapZone, GreyscaleZone.
- Added a random conter.
- Improved performance of the Collide actions.
- Enabled scaling of the 2D BitmapZone and GreyscaleZone.
Posted on 2 October 2008
Updated examples
I updated the examples with code for version 2 of Flint. I added a few more examples at the same time. I really believe version 2 is now better and just as stable as version 1 for 2D development. 3D is also very stable - I just need to finalise a few features before going to beta.Posted on 25 September 2008
More 3D Zones
I've added four new 3D zones to Flint.
- FrustrumZone - lets you use the camera frustrum as a zone. Particularly useful for removing particles when they leave the view.
- ParallelogramZone - creates a 2D zone in 3D space. the zone has four sides. If the sides are at right angles, the zone is rectangular.
- BitmapDataZone - creates a zone from a BitmapData object. Any points in the image with an alpha greater than 0 are points in the zone. the image may be stretched and skewed when creating the zone.
- GreyscaleZone - creates a zone from a BitmapData object. Black points in the image are excluded from the zone. Other points are in the zone with a weighting proportional to their luminosity.
I also optimized the Collide actions, approximately doubling their speed.
Posted on 22 September 2008
2.0 Alpha 2 released
I just uploaded version 2.0 alpha 2 to google code. The main change from alpha 1 is the renderers for Away3D and Papervision3D, plus some minor changes and fixes. You can get it form the downloads section or via SVN.Posted on 17 September 2008