Before starting this blog I picked up a new book, “clear blogging” by Bob Walsh published by Apress. I like it so far but I haven’t finished reading it. I felt I needed some hands on experience at the same time. However, I’m going to start exercising one of his points and that is to blog about topics I love. One topic I love is “programming style”.
This is the ActionScript 3 code I used to measure the SWF file size in my previous post:
EFD1.as
package { import flash.display.Sprite; import display.Header; public class EFD1 extends Sprite { /* -------------------------------------------------------------------- Constructor -------------------------------------------------------------------- */ public function EFD1 () { var lvHeader:Header = new Header ( 200, [0x8A39B9, 0x9D5BBF], "Shop by Category" ); addChild( lvHeader ); } // Constructor } // class EFD1 } // package
Header.as
package display { import flash.display.*; import flash.text.TextField; import flash.geom.* public class Header extends Sprite { /* -------------------------------------------------------------------- Private Static Variables -------------------------------------------------------------------- */ // Programmers looking at my code: // Please don't do what I've done here. That is, don't declare these // as static variables. I did this when I was testing how much memory // is used. Although this technique works and is expedient, it will // end up biting you later on. private static var svCorner :Number = 5; private static var svHeight :Number = 18.0; private static var svIndent :Number = 5; private static var svMargin :Number = 2; private static var svTextColor :uint = 0xFFFFFF; /* -------------------------------------------------------------------- Private Member Variables -------------------------------------------------------------------- */ private var mvTextField :TextField; /* -------------------------------------------------------------------- Constructor -------------------------------------------------------------------- */ public function Header ( avWidth :Number, avColors :Array, avText :String = "" ) { super(); var lvWidth:Number = avWidth - svMargin - svMargin; //Add Gradient Header var lvMatrix:Matrix = new Matrix(); lvMatrix.createGradientBox( lvWidth, svHeight, Math.PI * .5, 0, 0); graphics.beginGradientFill ( GradientType.LINEAR, avColors, [1, 1], [0x0, 0xFF], lvMatrix, SpreadMethod.PAD ); graphics.drawRoundRect( svMargin, svMargin, lvWidth, svHeight, svCorner ); // Add TextField mvTextField = new TextField(); mvTextField.x = svMargin + svIndent; mvTextField.y = svMargin; mvTextField.width = lvWidth - svIndent - svIndent; mvTextField.height = svHeight; mvTextField.textColor = svTextColor; mvTextField.selectable = false; setText( avText ); addChild( mvTextField ); } // Constructor /* -------------------------------------------------------------------- setText -------------------------------------------------------------------- */ public function setText ( avText :String ) :void { mvTextField.text = avText; } // setText } // class Header } // package display
Code produces EFD1.swf