PageFlip class

Well, it's just a simple low-level class to perform some pageflip drawing. It's supports the 4 corners flip and vertical / horizontal mode.
Here's the result (show the source)

Open Source This project is OPEN SOURCE under RPL License.
2007-01-18 v1.0

(c) by Lillycat (from MinaLoween)

If you are looking for a very talented freelancer illlustrator (french touch inside !), please contact lillycat [__at__] lillycat [__dot__] net.

MoCap experience

MoCap is the acronym for Motion Capture which is technique of digitally recording points movements in 3 dimensions.

I carried out some litle experimentations about play & parse some MoCap datas files at runtime.

Here's an Acclaim ASF parsing demo (thanks to new RegExp AS3 class !)
Here's a Simple Biovision BVA playing demo

I have much ideas about MoCap applications like :

  • Full 3D Mocap Player
  • Flash IDE wireframe MoCap timeline drawer (JSFL)
  • 3D/2D Character animator

and much more...

Must read :
M. Meredith and S.Maddock Mocap File formats explanations : PDF[en]

Studied formats :

  • ASF (Acclaim Skeleton File)
  • AMC (Acclaim Motion Capture)
  • BVA (BioVision Animation)
  • BVH (BioVision Hierarchical)

Bump Mapping

Bump Mapping is a graphic technique to render some relief effects. The algorithm apply a light perturbation to each pixel according to its normal vector and a light position.

The heights of each pixel is calculated from a Height Map (aka Bump Map).

Here's a simple demo, and another one applied to a texture.


This algorithm is a remake of an old AS2 one, check the difference !

Bitmap Drawing API

I've just begun to write a Raster class which provides some drawing methods onto BitmapData instances (pixel per pixel) :

Code example :

// create the BitmapData to work on
var pixels:Raster = new Raster(320, 240, true);

// draw stuff
pixels.drawRoundRect( new Rectangle ( 20, 20, 200, 100), 18, 0xFF00FFFF );
pixels.drawRect( new Rectangle ( 70, 70, 100, 100 ), 0xFF009900 );
pixels.filledTri( 40, 40, 80, 110, 50, 30, 0xFF998811 );
pixels.aaCircle(100, 100, 40, 0x77AA88 );, 40, 30, 0xFF000000);
pixels.line(10, 10, 60, 80, 0xFF000000 );

// show it
addChild ( new Bitmap ( pixels ) );

Here's a simple demonstration

Open Source This project is OPEN SOURCE under RPL License.
2009-10-16 v1.4
2007-01-07 v1.3
2007-01-07 v1.2
2007-01-07 v1.1
2007-01-07 v1.0


V1.4 API :

This class use
rastering : Bresenham algorithm
anti-alias rendering : Xiaolin Wu algorithm

Authors (contribution) :
Didier Brun (original class)
Drew Cummins (bezier curves)
Thibault Imbert (performance optimizations, rectangles)

Connecting an analog Joystick with FlashStick


With binary sockets introduced in the player 9, you can do many things, I recently posted the SMTP Mailer class, which lets you send HTML mails with attached files through an SMTP connection, but what could be funny is playing with an analogic joystick in a flash game. There are many apps that lets you map the joystick inputs to the Keyboard, so that you can detect the player inputs with the Key class.

But you don't get analogic values, you just get left, right, up, down or so, with an analogic joystick plugged to the player you can get values oscillating between -100 (left) to 100 (right) or -20000 to 20000 if you want, you specify the offset, hence you get granular inputs, which results in a better user experience.

I developed a little tool in C# called "FlashStick", which manages joystick inputs through DirectX, and send the inputs to the Flash animation (behaving as a client), this is possible through the class available in AS3.

In Flash we receive a bytearray containing the joystick inputs, X and Y pad values, but also every button state, so that we can detect which button is pressed, next addition would be delivering an API so that every game developer could call methods like startVibrate() or calibrate() or assignKeys(), and talk to the Flash Joystick Controller, that could be cool, of course these are just experiments :)

Find here the sources

In case you don’t have .NET framework, you can download it here