AS3 liquid layout class

I’m sure everyone has needed one of these at one time or another. I just decided to finally get one together for myself.

To use, you first call StageAlignTool.init() and pass in the stage, and optionally a minimum width and a minimum height (defaults to 1024×768).
Next, you call StageAlignTool.registerLocation() and pass in the displayObject you wish to register, which position you wish it to lock to (StageAlignTool .TL means Top Left, StageAlignTool.MC means Middle Center), and optionally if you want it to stay relative to where it is now (true) or snap to the edge of the stage (false).
The class automatically sets your stage scale mode to NO_SCALE and the stage align to TOP_LEFT. It also expects the display objects you pass it to have their registration points in the top left corner.

Download

Usage:


//StageAlignTool.init(Stage reference[, min width = 1024, min height = 768]);
StageAlignTool.init(stage, 1024, 768);

//StageAlignTool.registerLocation(a DisplayObject, position to lock to[, stay relative to current = false]);
//possible locations are [StageAlignTool.]TL, TC, TR, ML, MC, MR, BL, BC, BR

StageAlignTool.registerLocation(bg, StageAlignTool.MC);

Give it a try and tell me what you think.

AS3 bitmap mosaic class

This class will allow you to create a pixellated copy of any display object.

It allows for varying pixel sizes and caching of rendered pixels so you don’t have to redraw them every time.

mosaic

Usage is as follows:

var myMoz:Mosaic = new Mosaic(yourDisplayObj:DisplayObject, pixelSize:uint, useCache:Boolean);
addChild(myMoz);

or

var myMoz:Mosaic = new Mosaic(yourDisplayObj);
myMoz.pixelSize = 10;
myMoz.render();

Give it a try and let me know what you think.

Chugging along on Fless, the WordPress Flash front-end

I’ve spent a day or two reformatting and tightening up the code I left lingering on the Fless project I started.

Here is the example

It doesn’t look like much but it shows the ease of use of the framework.

Here is the code to create the basics:

public class Main extends MovieClip{

public function Main(){

var blog:Fless = new Fless();

blog.phpURL = “http://yourwebsite/getPost.php”;

blog.addEventListener(PostEvent.UPDATE, postsReady);
blog.getPosts(0, 20);

}

private function postsReady(e:PostEvent):void{
trace(“posts ready”);
trace(e.posts);

var curPost:CurrentPostView = new CurrentPostView(e.posts[0]);
curPost.x = 50;
curPost.y = 50;
curPost.width = (stage.stageWidth / 2) – 50;
curPost.height = stage.stageHeight – 100;
addChild(curPost);
}

}

I’m definitely looking for input from Flash devs that use WordPress to see what kind of features they would like.

Web Services in AIR (Flash CS3)

I have been banging my head against a wall for days. I am trying to get web services to work in an AIR app built with Flash CS3. My co-workers use a solution that works for Flash only http://labs.qi-ideas.com/2007/12/25/using-flex-compiled-code-within-flash

But every time I tried to use it with an AIR app it would crash.

I then found http://manmachine-tech.blogspot.com/

but after days of frustration I found a critical bug:

In the WSProxy class there is a variable _busyOnCall = true; that gets set within callMethod()

and it gets set to false in onComplete()

but it NEVER GETS SET IN onFault

After that it’s all good. I hope this helps anyone in the same boat as myself.