Archive for the ‘Code’ Category

As3 Flip Vertical and Flip Horizontal

Wednesday, June 11th, 2008

CopyPixels With flip vertical and flip horizontal arguments

Monday, June 9th, 2008

This function is like the copyPixels method from the bitmapdata class but let you flip horizontal and/or vertical the bitmapData.

Example swf

Example fla

Insert Thousands Delimiter using RegExps in Actionscript

Wednesday, May 28th, 2008

Today I spend a considerable amount of time trying to change this (10000000) into this (10.000.000). Because I don't think anyone should have to go throught the same ordeal here's a little function that will do it for you.

References:

“SecurityError: Error #3015: Loader.loadBytes() is not permitted to load content with executable code.”

Wednesday, May 14th, 2008

In the last month I thought Adobe had protect the loadBytes method from the loader so that only “regular” files like mp3, jpg, etc could be loaded, lots of good library’s like Benjamin Dobler wav reader stop working. What I think it is that in last version of flash player Adobe turn allowLoadBytesCodeExecution to false. If you see Adobe documentation they have written “Note: This API is likely to be replaced in a future release of AIR.” If anyone knows what really happen let me know. Now the good part, to solve that is simple, you only need to set allowLoadBytesCodeExecution to true.

Loading an xml synchronous with Adobe Air

Wednesday, May 14th, 2008

I usually work in desktop application and we like it or not flash is optimized for the web so normally we have to put complete event ever time we load anything, and it’s logic, because for the web things have to be asynchronous but for desktop applications they not.
We have already load text and xml files synchronous and done some things with sql lite synchronous, I think for now images and sounds can’t be done, because even if you get the bytes, you always need to invoke loadBytes method from the loader and put a complete event listener, fuck! lol, I hope that in the next release of flash the loader have an synchronous method of load the bytes.

There it’s a class to load an xml file synchronous.

How to use:

var configXml:XML = XmlLoader.load("Config.xml");

Flash binary socket client & C sharp socket server

Friday, May 2nd, 2008

This week a friend of mine was making me questions about the binary sockets in flash, so I remember to post an example about it. I have been using a lot of XmlSockets for the last 2 years with the latest versions of flash, so it was really easy to implement binary socket because they are very similar. Binary sockets are really a great improvement in flash. I have seen a lot of implements like joysticks servers, connections to mail servers and so on; there are some examples on byteArray.org.

This example is a simple chat, it have a C sharp server and a flash client. Just click on socketServer.exe to start the server it will be listening on port 8000, then start client.exe and hit connect button. The server will accept multiple connections, so you can start more than one client, if you are testing it in different machines, just check IP address of the server and write it on the client Ip text Field and hit connect button.

The source code for client and server are on the example zip, it was done using Visual c# express 2008 and Adobe Flash 9.

Socket Example With Source Code

The MXMLLoader Class > Dynamic load MXML In Flex Builder 3

Thursday, April 24th, 2008

First of all I don’t really use flex to do flex stuff and I’m not a big fan of flex. But in my latest project I had to build with flex an interface witch would be always diferent (a dynamic interface). In the beginning we thought in parsing some type of XML, but if we are in flex why not parse MXML? I took a look over the internet and I only found MXMLLoader component v0.01, witch didn’t compile on flex builder 3 and was really in the beginning. So there it is, as XMMLLoader class for flex builder 3. You just have to instantiate the class with the mxml :

You can access objects by name:

Or by id:

And have access to component events like:

The class with an example:

mxml-loader.zip

Example swf

Load an external flex swf into a flash project and communicate with him.

Tuesday, April 15th, 2008

Loading the swf is easy; you can make a normal loader and load it. And now the tricky part, if the swf is a swf flash file you can call the function you want, but in flex, because it have 2 frames, (first frame is just for loading), you need to wait until frame 2 is available, you can’t also access directly to a swf, you have to refer application before, so there’s the code:

you can also add Event Listener's to myClip.application , like myClip.addEventLIstener(“ON_CHANGE”,function), so by this way you can embed flex swf into an flash application and communicate with him by calling function and receiving events.

Global Mouse_Down Event

Saturday, March 29th, 2008

A time ago I had I little problem, I was doing an application and it had some severed changes, at some point I hasn’t capable of detect some mouse down events because I had a lot of sprites inside of sprites inside of movieClips with lots of event listeners and so on. So I and Hugo found this solution. Basically you put a generic mouse down event on stage and pass an array of objects with the name of the display object you want to catch the event and the name of the function you want to call. One good thing is that you can catch more than one event at the same time even if the displayObjects are in front of another displayObjects.

Note: this is really bad programming, if you can don’t use it, use only in severe cases.

globalmousedown.swf

globalmousedown.zip

hitTestObjects

Friday, March 28th, 2008

This function can be used to test a hit between a displayObject with an amount of displaysObjects (Array). It will return the displayObject where the biggest contact area occurred. Note: it uses the bounding boxes.

hittestobjects.swf

hittestobjects.zip