Archive for the ‘Code’ Category

AS3 Going’s On

Thursday, April 17th, 2008

Flash on the Beach 2008 is coming September 28th. See you there!

Francis Cheng has a fascinating blog entry about the new way you can use Object Initialisers in ECMA4

Jack over at GreenSock has released two great new classes: TransformMatrixProxy and ColorTransformProxy - being a Shockingly Green Club GreenSock member I already had these :) but it’s great to see them in the wild.

The uber-particle system Flint has been updated to version 1.0.1. This new build changes the way the renderers work, allowing you to now specify how large the render target is (before it was the full stage size). Release 1.0 also included particle flocking, which is great fun! Definitely check it out.

Over on the Adventures in Actionscript blog a new entry gives away the full source to a feature-rich AS3 pre-loader that includes MochiAd, MochiBot, simple Domain locking and a Vista style glossy progress bar. A nice little package. You can get the progress bar on its own if the rest doesn’t appeal to you.

NetStream bytesTotal weirdness

Tuesday, April 15th, 2008

While working on a custom video player project today I noticed a strange anomoly with the bytesTotal value returned by a NetStream object loading data from a local cache.

The first time you play a remote FLV via NetStream the bytesTotal result is correct, it’s the size of the file as sent by the server. However once the FLV is in the users local cache, and the SWF was reloaded, the bytesTotal value was reporting a size of 4 GB exactly until the stream had “settled down”, and then it returned the correct value. This seemed to take a second or so at most, but it still meant that my code needed changing to cope with it.

After making the connection I was storing the bytesTotal value in a uint. An event based check was comparing this uint with the bytesLoaded value waiting for them to equal each other (i.e. get to 100% downloaded). Of course this would never happen, because it was waiting for 4GB worth of data to download.

So rather than assigning the value to a variable I’m now simply comparing bytesTotal directly with bytesLoaded and then setting a Boolean if they match (downloadComplete = true) to avoid future comparisons.

Even so, it was an interesting oddity I thought worth reminding myself of in the future. Hence this blog entry :)

Enhanced KeyPoll Class Released

Saturday, April 12th, 2008

I’ve been using the excellent KeyPoll class by Richard Lord / Big Room Ventures. It’s an extremely fast and efficient class for detecting keyboard presses for your games. But I needed the class to do more, so I’ve extended it, added in some new functionality and released it. My new version can detect multiple key presses at once, has the full scancode const list built-in and adds a new function to return the last pressed scancode. Plus it’s still just as fast and flexible as the original.

Grab the download and examples after the jump.
(more…)

Playing with Flint

Thursday, April 10th, 2008

Damn I love messing with Flint - it is one seriously cool particle system :) This is a little test I threw together tonight in about half an hour (includes creating the planet image!). Leave it for a few seconds to see the planet trail burn up, and then just click anywhere you want to re-position the gravity well!

Code wise it’s extremely simple:

(more…)