Browsing the tag AS3
I just discovered a really nice thing (thanks to Pernilla) using multiple conditions (&&, ||) in the if…else conditional statement in Actionscript. The thing I did not know (you probably did) is that the statement do not check the remaining conditions when a condition is not fulfilled. If you look at the image below you can see that we get a crash on line 32 but not on line 28. This is because we add a check to see if _userVO exists before we check the contents. We also get a crash on line 38 because we check the conditions in the wrong order.

This little tip will help me save some lines of code.
Every time you change the bitmapData source for a Bitmap you also need to set the smoothing property on your Bitmap to true (if you want the bitmap to use smoothing).
var bitmap : Bitmap = new Bitmap(); bitmap.smoothing = true; trace(bitmap.smoothing); // true bitmap.bitmapData = new BitmapData(320, 240); trace(bitmap.smoothing); // false
I got some xml text line break issues in my latest project. The texts look good viewing them locally, but when uploading the project to the customer server I get a lot of extra line breaks. I am not really sure why this problem occurs but I guess it has to do with the server platform. I tried to save the xml with a different encoding but with no luck so I wrote this simple method. It works.
public function fixLineBreakIssues(value : String) : String { return value.split("\r").join(""); } // usage txtField.htmlText = fixLineBreakIssues(xmlText);
Commas or spaces can be used to make reading numbers a little easier. They are placed every 3 decimal places for numbers comprising 4 digits or more. I wrote a AS3 method that returns the nicer format.
$1000000
$1 000 000
public static function separateByThousand(valueNumber : Number, splitter : String = " ") : String { var valueString : String = ""; var valueLength : Number = valueNumber.toString().length; for (var i : int = 0; i < valueLength ; i++) { if ((valueLength-i)%3 == 0 && i != 0) valueString += splitter; valueString += valueNumber.toString().charAt(i); } return valueString; }
separateByThousand(1000) //1 000
separateByThousand(100000) //100 000
separateByThousand(1000000) //1 000 000
separateByThousand(1000000,”,”) //1,000,000
I have missed that AS3 have a built in support for fixed point notations. This means that you can choose the number of decimals you want to output. Great!
var num:Number = 7.31343; trace(num.toFixed(3)); // 7.313 var num:Number = 4; trace(num.toFixed(2)); // 4.00
My friend Fredrick at undefined-type.com blogged about a really smart (lazy) and easy way of merging xmlfiles.
The latest release of Motor2 is using the Vectors class which means you have to compile your files for Flash player 10. If you for some reason don’t want to change to FP10, Michael (developer of Motor2) has the solution:
replace all Vector occurrences with Arrays
http://groups.google.com/group/motor2/browse_thread/thread/182291562d7dfd9a


