ActionScript 3 Date

Did anyone alse than me wondered about Date.toString() output format in AS3? I mean what standard is it? It looks like something that adobe created for flash purpose and is not used anywhere else(?). According to the documentation AS3 output format for date is.

Day Mon Date HH:MM:SS TZD YYYY
Fri Sep 2 14:49:30 GMT+0200 2011

Read the rest of this entry »

Layout For A Table

There are some hidden treasures deep in flex framework, you just have to dig for. Yesterday I hit by coincidence ConstraintLayout. Its a part of 4.5 SDK and is a nice layout for defining rows and columns for a table. Once columns and rows are created, your elements are not automaticaly aligned into a block, but rather any element can refer to any column/row using correct formula in style attributes. E.g. forumla left=”{columnId}:{value}” will attach your element into position of a column and offsetting it by some value. This layout also easily let you merge cells or rows etc.

Read the rest of this entry »

Quick Tip: Read timed out …/target/test-classes/TestRunner.swf

There has been a terrible issue blocking maven/flexmojos builds randomly with exception:

[INFO] Read timed out /home/user/project/target/test-classes/TestRunner.swf

Even there are some tips how to fix this issue, none of them worked for my case. After all unit tests were removed and one by one added back manualy, I was able to locate the tests causing it. Problematic appeared to be async unit tests and the random factor appeared to be cpu usage. In other words when flashplayer was not able to execute and finish async test, it failed with maven exception. Finally, the day was saved with changed testTimeout value:

<configuration>
    <testTimeout>60000</testTimeout>
    ...
</configuration>

Maven version: 2.2, Flexmojos: 3.8, Flex SDK: 4.1.0.16076, FlexUnit: 4.0-rc-1

Quick Tip: Installing AIR Runtime To Android Emulator

After I have installed Android SDK on a new machine, I have almost forgotten the steps necessary to run AIR application on Android emulator. There has been some changes within android sdk e.g. adb.exe is no longer located in “tools” dir but rather in “platform-tools”, to create a new emulator you can use SDKManager.exe… and to install AIR runtime on Android emulator, you can take .apk file located in AIR SDK (airsdk/runtimes/air/android/emulator/Runtime.apk) and install it via…

Read the rest of this entry »

Getting hands dirty with molehill

Few weeks ago I played with molehill and Away3D engine. Creating 3D scene is straightforward with an engine, but I still wanted to get deeper inside and understand the low level api and agal. So I took another approach and created pure molehill version of 3ddm. Soon I realized that I have been already familiar with some procedures from drawTriangles version so I could easily use algorithm for defining vertices, indices and uv.

Read the rest of this entry »

Universal Application To Module Api

While working on my latest project, I was supposed to came up with some elegant solution (api) to make 3rd party modules be able to communicate with the main application and vice versa. In fact I already did the approach some time ago, now it was time to improve it and implement into a flex framework.

The api is based on event dispatching. Instead of sharing interface and calling some public available functions / callbacks (requires functions defined in compile time), event based api gives you the freedom of registering and releasing listeners anytime in runtime…

Read the rest of this entry »

Quick Tip: Debugging Module Inside Non-debug Application

Did you know that it is not possible to debug loaded content within release (non-debug) build app? Every attempt to insert a breakpoint during the runtime will cause null pointer exception thrown by flash builder, however you can still trace() output. To be more specific, imagine you have main application deployed somewhere on the web and you want to debug a module you are just developing wrapped inside the main application. Sure you can use proxy mapping trick + custom run configuration, that would help you run your debugging version of module.swf, however while the main application is non-debug version, the flash builder debugger will just not work correctly. Luckily you have two options to make it work. First, you may also map the main application .swf file for your debug version (+ some flex rsl files) or second option, make the flash player wrap whole content into some .swf compiled in debug mode using PreloadSWF in mm.cfg.

Read the rest of this entry »

125000 Triangles & Still Smooth

A few months ago I played with an idea of creating 3D illusion from an image and its depth map. First versions were based on displacement maps (custom implementation in pixel bender) and later I used common 3D engines to transform image into a 3D model. With software rendering I hit fps limit somewhere around 10000 triangles, what is like 70×70 segments per plane. Now if your source image is something like 700×700 pixles, the fragmentation is 10px per segment, that is not enough details for me :-) .

Luckily, Adobe introduced Molehill a GPU-accelerated 3D API and I was curious about where the limits of this are. While Away3D already released its molehill version, I have transformed existing 3ddm Away3D version what literally was just like 10 lines of code.

Read the rest of this entry »

Quick Tip: Constructor Of Property With Namespace

Some of you may not like the solution (including me) but sometimes you need a little hack to make things work for you. In my case I required a constructor of property declared under custom namespace but not defined (null). Normally, you would go for describeType(), but guess what, yeah it just does not describes properties with namespace other than public. While there was nothing better in my mind than passing some unexpected value and expect what happend I decided to go for it. Luckily an exception was thrown with correct constructor name.

Read the rest of this entry »

Simple Modular Robotlegs

You know it, when you learn new things looking for documentation or tutorials all over the internet and even if you find potential good source it is some times difficult to focus on the key information while it contains a lot of stuff you do not need at all? Well, there really are some interesting sources for building robotlegs with modules (Modular Robotlegs, DynModules, Modular Tutorial ) but it took me some time to grab only the key functionality. So, I have decided to create the simpliest working project using robotlegs and modules.

Read the rest of this entry »

Get Adobe Flash player