Archive

Posts Tagged ‘ActionScript’

Alcon 3.1 Update

April 5th, 2009 No comments

Although Alcon version 4 is currently under development I’ve decided to release a small update for Alcon 3, version 3.1 since I’ve received a code signing certificate from Adobe and wanted to keep up with re-releasing the now-signed application on the AIR Market Place.

Besides that Alcon is now code-signed there is exactly one new feature in v3.1 which I called Key Tracer. You can toggle Key Tracing Mode from the Log menu. If you enable it you are able to press any keys and their key code (and if available character code) will be listed in Alcon’s output window which is a useful feature if you want to know the codes for some specific keys quickly.

More features where planned (and already started) like a Search function, Log Level Filtering and even a Calculator but these haven’t made it finished yet into v3 so most of them will come with version 4, which is – yet again – a complete re-write (I do loathe my source code that is over one year old ;) ).

The newest version can as always be found here.

Categories: Dev Tags: , , , ,

The Confusion about 'this'

December 5th, 2008 23 comments

I often browse through code libraries written by others and can’t deny noticing that so many developers are making exaggerated use of the ‘this’ keyword in their code. Today I came across CASAlib an otherwise very neat and certainly helpful library and after roaming through some of the code base it turns out that in most classes they’ve put ‘this’ in front of every single class property.

It seems that many newcomers to ActionScript still don’t understand the use of ‘this’ and that it’s only really necessary in rare cases, for example if a method parameter has the same name like it’s relative class property or in a few scope-related situations. It’s also good to have ‘this’ at hand if a dynamic property of a class needs to be accessed (this["foo"]) but other than that please do all a favor and throw out those unnecessary ‘this’! Ban it, lock it in your basement and don’t let it out unless there’s really a need for it!

Categories: Dev Tags: , , ,

Customizing toString()

September 8th, 2008 11 comments

When writing classes for a framework I usually put a custom toString method into important classes so that debugging becomes easier. Normally they would go like something along the lines of:

override public function toString():String {
	return "[ClassName]";
}

… Sometimes adding properties to the returned String that give back information about the class, e.g.

override public function toString():String {
	return "[ImageClass, size=" + _size + "]";
}

But writing them rigid like that is a disadvantage when you decide later to refactor class names. Admittedly it’s also not a very elegant way so I got the idea to take the class name that is returned by getQualifiedClassName(). The only problem is that getQualifiedClassName not only provides the type name but also the whole package String of the class. Regular Expressions to the rescue! After twiddling around with them for a while (I’m by no means a RegExp expert) I got my toString method into the shape that I desired:

override public function toString():String {
	return "[" + getQualifiedClassName(this).match("[^:]*$")[0] + ", size=" + _size + "]";
}

This way it matches the String returned by getQualifiedClassName with the Regular Expression [^:]*$ which checks from the right end for an arbitrary text up to the first occurring colon, but without including the colon. Taking the first element of the Array returned by match() and you got what you need!

A nice way of using this is when writing abstract classes that contain the toString method and any subclass can use that toString method without the need to override it … that is of course unless you want ot add other output information.

Alcon 3 Out Now!

August 25th, 2008 4 comments

It took longer than expected thanks to obstacles like a crashed harddisk and other minorities in between but it’s finally done and I now can announce the immediate availability of Alcon 3! It runs currently on Windows and Mac and hopefully soon on Linux too. When I tested it on Ubuntu it installed and started fine but the LocalConnection seems not to cut it in the current alpha release of the Linux AIR Runtime. Anyone know more details about this?

I recommend to check out the Alcon Page for more details and of course the download link. Enjoy your debugging!

Categories: Dev Tags: , , , ,

Alcon 3 Preview

August 21st, 2008 11 comments

Since so many of you (well, at least four people) are feverishly waiting for the release of Alcon 3 here’s a preview screenshot to comfort your waiting time. The shot shows Alcon’s trace output panel with some bogus Array being traced iteratively and as a hex dump. the top of the window displays Alcon’s new App Monitor which can be used to monitor framerate, frame render time and memory consumption. It also shows the version of the runtime that the monitored application is run in (clicking on the version text will list all System.capabilities properties in the Trace panel).

Then there’s the Options dialog with Trace options opened where you will be able to set font, colors etc. On the File Loggers Options you will be able to optionally enable up to two File Loggers that can be used for example to log the flashlog.txt to see output made by ActionScript’s own trace method.
There’s of course the new Object Inspector and a new Help panel for Quickstart Help and API Docs. Alcon 3 is being written 99% in ActionScript 3 using FDT (the 1% left being the Main.mxml that is necessary to compile a Flex application). It’s only a matter of a few days now until release, some bug fixing, finishing touches and a few more documentation to write and it will be out so please endure!

Categories: Dev Tags: , , , , ,

ActionScript3 Dice Class

December 4th, 2007 3 comments

In game development randomness is often necessary for certain tasks, be it the random distribution of graphic tiles, a random factor in NPC AI or random stats in a roleplaying game. Especially for the latter purpose the static Dice class provides a set of methods to roll dice as it is common in a Role-playing game, to be exact four-, six-, eight-, ten-, twelve-, twenty-sided and percentile dice.

Read more…

FDT 3 is final!

October 15th, 2007 1 comment

The guys at Powerflasher done a great job! Check out their new FDT 3 at fdt.powerflasher.com. Personally this has become once again my favorite coding tool (after an over one year break with FlexBuilder’s editor). FDT has many features that one would otherwise only find in superior tools like Eclipse’s own Java Development Tool … and these are top notch! FDT is now shipped in three different versions, Basic, Professional and soon an Enterprise version which will add a Debugger, MXML Parser and advanced Refactoring.
I’m especially looking forward to the MXML Parser since in it’s current state FDT only allows for pure ActionScript projects. The MXML Parser would make it possible to add Flex and Adobe AIR projects to the roll.

Categories: Dev Tags: , ,

Animated Bitmap Class Update

September 28th, 2007 5 comments

I’ve updated the [intlink id="92" type="post"]AnimatedBitmap[/intlink] class so that it now uses an external timer object to trigger the animation. The advantage of this is that one timer can be used for many animated objects that use the same framerate. For this purpose a custom FrameRateTimer class has been added. This saves memory and CPU cycles when many animated objects are used.
I will eventually add an AnimatedDisplayObjectManager class later with that many animated objects can be controlled at once (e.g. stop/play all sprites at once) but this will probably be more intervened with the whole framework (as it might make use of custom data structures).

Categories: Dev Tags:

Animated Bitmap Class

September 23rd, 2007 21 comments

The AnimatedBitmap class provides functionality for Bitmap objects that are animated by using a series of still images. When creating a new AnimatedBitmap you provide a BitmapData object that contains an image that consists of the ‘single-frame’ images for the animation.

Read more…

FDT 3.0 is Open Beta!

September 3rd, 2007 No comments

I’ve joined the closed beta of FDT 3.0 a couple of weeks ago and saw that there was steady progress in bug fixing with around 3-4 updates every week. Now the guys at Powerflasher started the Open Beta which everybody can join by visiting the FDT Forum.

FDT 3.0 is pure coding comfort indeed! After using it you’ll agree that the Flex ActionScript editor looks like a poor excuse compared to FDT! There are all the features for ActionScript 3.0 that also were in FDT 1 and a lot of new stuff. Luxurious syntax coloring and semantic syntax highlighting, code templates,my number one favorite feature Mark Occurences, code formatter, quick fixes, Flash IDE and Flex compiler support, limited refactoring and more.

Now all I wish for is that FDT works flawlessly together with Flex/AIR projects but that will probably come at a later date since getting a stable release is more important now. It kind of feels awkward if you have to go back to the Flex AS editor once you used FDT!

Categories: Dev Tags: , ,