<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fraser Crosbie - Calgary Flash &#38; Flex Developer &#187; Flash</title>
	<atom:link href="http://www.flashdev.ca/article/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flashdev.ca</link>
	<description>Calgary Flash &#38; Flex developer specializing in RIA development.</description>
	<lastBuildDate>Fri, 15 Jan 2010 17:39:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ArtPad: A Collection. A Connection</title>
		<link>http://www.flashdev.ca/article/artpad/</link>
		<comments>http://www.flashdev.ca/article/artpad/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 21:02:37 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Calgary]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[Rare Method]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=83</guid>
		<description><![CDATA[While working at Rare Method our team invested a lot of effort into designing and developing this great interactive Flash and HTML/CSS hybrid site. ArtPad was commissioned by the Calgary Glenbow Museum for the purpose of informing and interesting youth in contemporary art. I&#8217;m not sure when this site finally went live, but chances are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.glenbow.org/artpad" target="_blank"><img src="http://www.flashdev.ca/wp-content/uploads/2008/11/picture-3-15-12-08-611x426.png" alt="ArtPad" title="artpad"  width="611" height="426" class="alignnone size-medium wp-image-94" /></a></p>
<p>While working at Rare Method our team invested a lot of effort into designing and developing this great interactive Flash and HTML/CSS hybrid site. ArtPad was commissioned by the Calgary Glenbow Museum for the purpose of informing and interesting youth in contemporary art. I&#8217;m not sure when this site finally went live, but chances are that you have never seen or even heard about it, as I was unable to find a press release or news article anywhere. Take a few minutes to check it out. I think you will enjoy it and maybe learn a thing or two about contemporary art.</p>
<p><a href="http://www.glenbow.org/artpad" target="_blank" >http://www.glenbow.org/artpad</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/artpad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Loading and Saving External XML Data in AIR (Apollo)</title>
		<link>http://www.flashdev.ca/article/loading-and-saving-xml-data-in-air-apollo/</link>
		<comments>http://www.flashdev.ca/article/loading-and-saving-xml-data-in-air-apollo/#comments</comments>
		<pubDate>Tue, 03 Jul 2007 22:59:31 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[AIR (Apollo) Tutorial]]></category>
		<category><![CDATA[ActionScript 3.0 Tutorial]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[Apollo]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/article/loading-and-saving-xml-data-in-air-apollo/</guid>
		<description><![CDATA[I just finished an AIR (Apollo) application that loads and saves data from an external XML file. I figured I would share the code to accomplish this task as there is not a lot of Apollo info around at this time. First off lets start with loading an XML file and reading its contents. I [...]]]></description>
			<content:encoded><![CDATA[<p>I just finished an AIR (Apollo) application that loads and saves data from an external XML file. I figured I would share the code to accomplish this task as there is not a lot of Apollo info around at this time.</p>
<p>First off lets start with loading an XML file and reading its contents. I realize that there are much easier ways to load XML into Flash than this, but the advantage here is that I can use <em>File.applicationResourceDirectory</em> which allows me to target the installation directory for the XML file that was included with the AIR package. In this snippet I am using the synchronous open method.  This essentially pauses everything else in the Flash movie until it has completed its task (opening the file).</p>
<p><span id="more-47"></span></p>
<pre>
<code>
import flash.filesystem.*;

private var _data:String; // Data string pulled from the xml file.

/**
 * Load the xml file and read its data.
 */
private function loadData():void
{
  var dataFile:File = File.applicationResourceDirectory.resolve("data.xml");
  var stream:FileStream = new FileStream();
  stream.open(dataFile, FileMode.READ);
  _data = stream.readUTFBytes(stream.bytesAvailable);
  stream.close();
}
</code>
</pre>
<p>This next snippet shows how to save data to a file using the asynchronous openAsync method. The asynchronous methods allow Flash to continue running normally and use events to trigger user specified actions.</p>
<pre>
<code>
private var _dataXML:XML;	// The XML data.

/**
 * Save the modified data to the xml file.
 */
private function saveData():void
{
  var dataFile:File = File.applicationResourceDirectory.resolve("data.xml");
  var stream:FileStream = new FileStream();
  stream.openAsync(dataFile, FileMode.WRITE);
  stream.writeUTFBytes(_dataXML);
  stream.addEventListener(Event.CLOSE, onDataSaved);
  stream.close();
}

/**
 * Called when the data has been successfully saved.
 * Load the saved data back into the application.
 */
private function onDataSaved(event:Event):void
{
  loadData();
}
</code>
</pre>
<p>If you are planning on using AIR (Apollo) for your own projects I would highly recommend reading <a href="http://download.macromedia.com/pub/labs/apollo/documentation/apollo_for_flex_pocketguide_031907.pdf">Apollo for Adobe Flex Developers Pocket Guide</a> by Mike Chambers, Robert L. Dixon &#038; Jeff Swartz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/loading-and-saving-xml-data-in-air-apollo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Adobe CS3 will be announced on March 27th</title>
		<link>http://www.flashdev.ca/article/adobe-cs3-will-be-announced-on-march-27th/</link>
		<comments>http://www.flashdev.ca/article/adobe-cs3-will-be-announced-on-march-27th/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 22:42:36 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Launch]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/article/adobe-cs3-will-be-announced-on-march-27th/</guid>
		<description><![CDATA[The end of the long anticipated wait for Adobe Creative Suite 3 is almost here. I got my first glimpse of the goodness to come in Las Vegas at Adobe MAX 2006. I expect the differences between Adobe and Macromedia products will finally come to an end as the best of both worlds are merged [...]]]></description>
			<content:encoded><![CDATA[<p>The end of the long anticipated wait for Adobe Creative Suite 3 is almost here. I got my first glimpse of the goodness to come in Las Vegas at Adobe MAX 2006. I expect the differences between Adobe and Macromedia products will finally come to an end as the best of both worlds are merged into one. Of course I&#8217;m mainly interested in Flash CS3. I never managed to make it onto the beta testing list and the Flash 9 alpha was Flash 8 with ActionScript 3 support, which was fun to play around with, but boasted no new interface enhancements and other goodies. Friends who did make it onto the beta have told me about some of the new features and I&#8217;m pretty stoked to try them out for myself.</p>
<p>The official announcement from the Adobe Creative Solutions PR team.<br />
<a href="http://blogs.adobe.com/creativesolutionspr/">http://blogs.adobe.com/creativesolutionspr/</a></p>
<p>Fraser <img src='http://www.flashdev.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/adobe-cs3-will-be-announced-on-march-27th/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rolex.com Redesign Launched Today</title>
		<link>http://www.flashdev.ca/article/rolexcom-complete-redesign-launched-today/</link>
		<comments>http://www.flashdev.ca/article/rolexcom-complete-redesign-launched-today/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 16:52:45 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[Critical Mass]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Launch]]></category>
		<category><![CDATA[Redesign]]></category>
		<category><![CDATA[Rolex]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/article/rolexcom-complete-redesign-launched-today/</guid>
		<description><![CDATA[I thought this day would never come. The soon to be award winning Rolex.com redesign has finally been launched. Before leaving Critical Mass I spent around three months on the Rolex team helping out on the development side of this site. Although the site appears to be completly Flash to the common user, it supports [...]]]></description>
			<content:encoded><![CDATA[<p>I thought this day would never come. The soon to be award winning <a href="http://www.rolex.com/">Rolex.com</a> redesign has finally been launched.</p>
<p><a href="http://www.rolex.com/en/index.jsp#/en/xml/world-of-rolex/fearless-luxury/la-paz"><img src="http://www.flashdev.ca/wp-content/uploads/2007/02/rolex.jpg" alt="Screen shot of the new Rolex site" border="0" /></a></p>
<p>Before leaving <a href="http://www.criticalmass.com/">Critical Mass</a> I spent around three months on the Rolex team helping out on the development side of this site. Although the site appears to be completly Flash to the common user, it supports deep linking and it is search engine friendly. If the user does not have Flash installed it degrades gracefully to an HTML version.</p>
<p>The design is incredible, featuring stunning photographs of scenery from around the world as well as many very gorgeous models, and of course plenty of beautiful watches that most of us will never be able to afford.</p>
<p>Congratulations to everyone involved in creating this site.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/rolexcom-complete-redesign-launched-today/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Captain Morgan off to Yahoo!</title>
		<link>http://www.flashdev.ca/article/captain-morgan-off-to-yahoo/</link>
		<comments>http://www.flashdev.ca/article/captain-morgan-off-to-yahoo/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 01:42:00 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Calgary]]></category>
		<category><![CDATA[Critical Mass]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=32</guid>
		<description><![CDATA[A good friend and colleague of mine Scott Morgan has left us at Critical Mass and has taken a position as the Flash Manager at Yahoo! in sunny California. I&#8217;m really going to miss working with him, but I&#8217;m also very happy for him. This will be a great experience and I really can&#8217;t blame [...]]]></description>
			<content:encoded><![CDATA[<p>A good friend and colleague of mine <a href="http://www.scottgmorgan.com/">Scott Morgan</a> has left us at <a href="http://www.criticalmass.com/">Critical Mass</a> and has taken a position as the Flash Manager at <a href="http://www.yahoo.com/">Yahoo!</a> in sunny California. I&#8217;m really going to miss working with him, but I&#8217;m also very happy for him. This will be a great experience and I really can&#8217;t blame him for not turning it down. Plus, it is freezing up here in Calgary. He just told me he is going to be meeting with Mike Chambers and Ted Patrick later this week and that Yahoo! already has the latest beta (not alpha) of Flash CS3 (Blaze). Scott you lucky bastard! </p>
<p>Congratulations and the best of luck Scott! </p>
<p>P.S. Make sure you say hi to <a href="http://www.schillmania.com/">Schiller</a> and <a href="http://www.featureblend.com/">Dr. Yes</a> for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/captain-morgan-off-to-yahoo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>More news about Flash CS3 (Blaze)</title>
		<link>http://www.flashdev.ca/article/more-news-about-flash-cs3-blaze/</link>
		<comments>http://www.flashdev.ca/article/more-news-about-flash-cs3-blaze/#comments</comments>
		<pubDate>Sat, 16 Sep 2006 07:06:28 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Blaze]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Preview]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=26</guid>
		<description><![CDATA[Mike Downey presented a preview of the next version of Flash (codename Blaze) at Flashforward Austin 2006. New features include the ability to import Photoshop files directly into Flash allowing for precise control over every layer. You can make choices about each layer separately and also edit the imported text fields. There will be support [...]]]></description>
			<content:encoded><![CDATA[<p>Mike Downey presented a preview of the next version of Flash (codename Blaze) at Flashforward Austin 2006. New features include the ability to import Photoshop files directly  into Flash allowing for precise control over every layer. You can make choices about each layer separately and also edit the imported text fields. There will be support for layer modes, drop shadows, blurs, and more. Flash will also be using the the JPEG compression from the next version of Photoshop.</p>
<p>If you have any ideas for Blaze you should submit them to the <a href="http://weblogs.macromedia.com/flashteam/archives/2005/09/its_that_time_a.cfm">Flash 9 wishlist</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/more-news-about-flash-cs3-blaze/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a Basic Menu in ActionScript 3.0 Tutorial &#8211; Part 1 &#8211; Array</title>
		<link>http://www.flashdev.ca/article/building-a-basic-menu-in-actionscript-30-tutorial/</link>
		<comments>http://www.flashdev.ca/article/building-a-basic-menu-in-actionscript-30-tutorial/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 07:19:01 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[ActionScript 3.0 Tutorial]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=22</guid>
		<description><![CDATA[Today I have decided to build a simple ActionScript 3.0 horizontal menu based on an array. This is a fairly common practice in Flash development as we are often using data provided from a XML file to dynamically update content within our movies. To simplify this tutorial I am going to use an array that [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have decided to build a simple ActionScript 3.0 horizontal menu based on an array. This is a fairly common practice in Flash development as we are often using data provided from a XML file to dynamically update content within our movies. To simplify this tutorial I am going to use an array that is written within my code instead of parsing it from a XML file. </p>
<p>The following example will demonstrate how to loop through an array and draw a button for each item in that array. Each button will have a label, an up state and an over state. I have read that it is good practice to use the SimbleButton object whenever possible, but I am not going to use the it in this tutorial because I am interested in learning more about <em>addChild()</em>, <em>getChildByName()</em>, <em>currentTarget</em>, <em>mouseChildren</em> and other features of ActionScript 3.0 that could be avoided using the SimpleButton. </p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_basicMenu_875826151"
			class="flashmovie"
			width="438"
			height="56">
	<param name="movie" value="http://www.flashdev.ca/flash/basicMenu.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdev.ca/flash/basicMenu.swf"
			name="fm_basicMenu_875826151"
			width="438"
			height="56">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p><span id="more-22"></span></p>
<pre>
package ca.flashdev.example {		

  import flash.display.Sprite;
  import flash.display.Shape;
  import flash.events.MouseEvent;
  import flash.text.TextField;
  import flash.text.TextFieldAutoSize;
  import flash.text.TextFormat;

  public class BasicMenu extends Sprite {		

    // Create the array of button names.
    private var __MenuArray:Array = new Array("Button 0",
                                              "Button 1",
                                              "Button 2",
                                              "Button 3",
                                              "Button 4");		 

    /**
     * The constructor. This method is fired automatically
     * when the class is instantiated.
     */
    public function BasicMenu():void {
      drawMenu();
    }

    /**
    * Draw the menu.
    */
    private function drawMenu():void {

      // This variable will hold the x position
      // of the next button in the menu.
      var xPos:Number = 0;

      // Create a holder that will contain the menu.
      var menuHolder:Sprite = new Sprite();

      // Add the holder to the stage.
      addChild(menuHolder);			

      // Create text formatting for the text fields in the menu.
      var format:TextFormat = new TextFormat();
      format.font = "Verdana";
      format.color = 0x000000;
      format.size = 12;
      format.bold = true;

      // Loop through the array.
      //Create each item listed in the array.
      for (var i in __MenuArray) {

        // Create the button.
        var button:Sprite = new Sprite();
        button.name = "button"+i;

        // Disable the mouse events of all the
        // objects within the button.
        button.mouseChildren = false;

        // Make the sprite behave as a button.
        button.buttonMode = true;

        // Create the label for the down button state.
        var label:TextField = new TextField();
        label.autoSize = TextFieldAutoSize.LEFT;
        label.selectable = false;
        label.defaultTextFormat = format;
        label.text = __MenuArray[i];

        // Create an up state for the button.
        var up:Sprite = new Sprite();
        up.graphics.lineStyle(1, 0x000000);
        up.graphics.beginFill(0x00FF00);
        up.graphics.drawRect(0, 0, 100, 30);
        up.name = "up";

        // Create an over state for the button.
        var over:Sprite = new Sprite();
        over.graphics.lineStyle(1, 0x000000);
        over.graphics.beginFill(0xFFCC00);
        over.graphics.drawRect(0, 0, 100, 30);
        over.name = "over";

        // Adder the states and label to the button.
        button.addChild(up);
        button.addChild(over);
        button.addChild(label);				

        // Position the text in the center of the button.
        label.x = (button.width/2) - (label.width/2);
        label.y = (button.height/2) - (label.height/2);

        // Add mouse events to the button.
        button.addEventListener(MouseEvent.MOUSE_OVER,
                                displayActiveState);
        button.addEventListener(MouseEvent.MOUSE_OUT,
                                displayInactiveState);
        button.addEventListener(MouseEvent.CLICK,
                                displayMessage);

        // Add the button to the holder.
        menuHolder.addChild(button);

        // Position the button.
        button.x = xPos;

        // Increase the x position for the next button.
        xPos += button.width + 2;

        // Hide the over state of the button.
        over.alpha = 0;
      }

      // Postion The Menu.
      menuHolder.x = 20;
      menuHolder.y = 20;

    }

    /**
     * Show the active state of the button.
     */
    private function displayActiveState(event:MouseEvent):void {

      // Show the over state of the button.
      event.currentTarget.getChildByName("over").alpha = 100;
    }

    /**
    * Hide the active state of the button.
    */
    private function displayInactiveState(event:MouseEvent):void {

      // Hide the over state of the button.
      event.currentTarget.getChildByName("over").alpha = 0;
    }

    /**
     * Display a message in the Output window.
     */
    private function displayMessage(event:MouseEvent):void {

      // Output the name of the clicked button.
      trace(event.currentTarget.name)
    }
  }
}
</pre>
<p>Save this file as <em>BasicMenu.as</em> in a folder structure of <em>ca.flashdev.example</em>.<br />
Create a new movie and add <em>ca.flashdev.example.BasicMenu</em> to the ActionScript 3.0 Settings Document class field. Save this file as <em>basicMenu.fla</em> in the same directory as your <em>ca</em> folder. Publish (Ctrl+Enter) your movie and you should see the menu.</p>
<p><a href="http://www.flashdev.ca/wp-content/uploads/2006/09/BasicMenu.zip">Download the source files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/building-a-basic-menu-in-actionscript-30-tutorial/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Adobe Flash CS3?</title>
		<link>http://www.flashdev.ca/article/adobe-flash-cs3/</link>
		<comments>http://www.flashdev.ca/article/adobe-flash-cs3/#comments</comments>
		<pubDate>Wed, 16 Aug 2006 15:21:39 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Flash General]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=21</guid>
		<description><![CDATA[I was just told that the next release of Flash with be titled Adobe Flash CS3. If you are unfamiliar with CS, it stands for Creative Suite. The current release of Adobe&#8217;s Creative Suite is CS2, so I think we can expect a whole bundle of software being released at the same time that may [...]]]></description>
			<content:encoded><![CDATA[<p>I was just told that the next release of Flash with be titled <em>Adobe Flash CS3</em>. If you are unfamiliar with CS, it stands for <em>Creative Suite</em>. The current release of Adobe&#8217;s Creative Suite is CS2, so I think we can expect a whole bundle of software being released at the same time that may include titles such as Flash CS3, Photoshop CS3, IllHand CS3 (Illustrator + Freehand), InDesign CS3, DreamLive CS3 (Dreamweaver + GoLive), Acrobat Paper CS3 (Acrobat + Flash Paper) and more. This is all just speculation on my part, so don&#8217;t take my word for it. I am pretty sure about the Flash CS3 part of it though.</p>
<p>The new Flash CS3 will definitely have enhancements to its importing abilities with Photoshop and Illustrator. From what I have heard, you will be able to access bitmaps and vectors right down to a specific layer within the import window. I am sure copy &#038; paste between programs will function a lot smoother than previously.</p>
<p>Fraser <img src='http://www.flashdev.ca/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/adobe-flash-cs3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ActionScript 3.0 Document Class Tutorial</title>
		<link>http://www.flashdev.ca/article/document-class/</link>
		<comments>http://www.flashdev.ca/article/document-class/#comments</comments>
		<pubDate>Fri, 28 Jul 2006 16:01:51 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[ActionScript 3.0 Tutorial]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=14</guid>
		<description><![CDATA[Well, it appears that in my previous posts about ActionScript 3.0, I am a bit old school. I have been instantiating my code from the first frame of the timeline using the import statement. After opening up a few of the as3_labs_samples_062706 and realizing that there is no code on the timeline, just a disclaimer, [...]]]></description>
			<content:encoded><![CDATA[<p>Well, it appears that in my previous posts about ActionScript 3.0, I am a bit old school. I have been instantiating my code from the first frame of the timeline using the <em>import</em> statement. After opening up a few of the <a href="http://download.macromedia.com/pub/labs/flash9as3/as3_labs_samples_062706.zip">as3_labs_samples_062706</a> and realizing that there is no code on the timeline, just a disclaimer, I started to scratch my head. I checked the library of the .fla to see if I could see any linkages. Still, I could not find any reference to the external code. The next place I checked was the <em>Publish Settings (Ctrl-Shift+F12)</em> and lo and behold, I found my answer. If you click on the <em>Flash</em> tab, then on the <em>settings&#8230;</em> button you will see the new <em>Document class:</em> field. Using this field you can instantiate your code. This is a much cleaner way of doing things. Finally a Flash Developer&#8217;s dream come true, no more code on the timeline.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/document-class/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>No mx classes in Flash 9 Public Alpha?</title>
		<link>http://www.flashdev.ca/article/no-mx-classes-in-flash-9-public-alpha/</link>
		<comments>http://www.flashdev.ca/article/no-mx-classes-in-flash-9-public-alpha/#comments</comments>
		<pubDate>Thu, 27 Jul 2006 19:26:59 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[Alpha]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=13</guid>
		<description><![CDATA[In the previous post, Debugging in AS3 &#8211; Part 2 &#8211; Objects, I would have preferred to show you how to debug Objects with the ObjectDumper. The ObjectDumper can be imported using import mx.data.binding.Objectdumper. I tried this in ActionScript 3 and it would not work. I soon realized that all of the mx classes that [...]]]></description>
			<content:encoded><![CDATA[<p>In the previous post, <em>Debugging in AS3 &#8211; Part 2 &#8211; Objects</em>, I would have preferred to show you how to debug Objects with the <em>ObjectDumper</em>. The ObjectDumper can be imported using <em>import mx.data.binding.Objectdumper</em>. I tried this in ActionScript 3 and it would not work. I soon realized that all of the mx classes that shipped with Flash 9 Public Alpha are still written in ActionScript 2 and it appears that when you are publishing in ActionScript 3 the path to the mx classes is disabled. This means that we will have to wait to use a lot of the great functionality (Tween, ObjectDumper, etc.) that I took for granted in ActionScript 2. I did read somewhere that you can take the mx classes from the Flex SDK. Seeing as how I am still coding my work related projects in AS2 and only learning AS3 to get a head start, I will just wait until, hopefully, the next release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/no-mx-classes-in-flash-9-public-alpha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging in ActionScript 3.0 &#8211; Part 2 &#8211; Objects Tutorial</title>
		<link>http://www.flashdev.ca/article/trace-objects/</link>
		<comments>http://www.flashdev.ca/article/trace-objects/#comments</comments>
		<pubDate>Wed, 26 Jul 2006 17:53:01 +0000</pubDate>
		<dc:creator>Fraser Crosbie</dc:creator>
				<category><![CDATA[ActionScript 3.0 Tutorial]]></category>
		<category><![CDATA[Flash Development]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.flashdev.ca/?p=10</guid>
		<description><![CDATA[Last post I talked about using trace in order to debug variables in Flash. As I mentioned before, trace works great for Strings and Numbers, but not so good for Objects &#038; Arrays. Tracing an Object will return [object Object], which does not tell you much. To see the insides of an Object you can [...]]]></description>
			<content:encoded><![CDATA[<p>Last post I talked about using <em>trace</em> in order to debug variables in Flash. As I mentioned before, trace works great for <em>Strings</em> and <em>Numbers</em>, but not so good for <em>Objects</em> &#038; <em>Arrays</em>. Tracing an Object will return <em>[object Object]</em>, which does not tell you much. To see the insides of an Object you can use a <em>for</em>    loop. Add the following code to a new actionScript file called <em>ObjectDebug.as</em>:</p>
<p><span id="more-10"></span></p>
<pre>
package ca.flashdev.debug {
  public class ObjectDebug {
    public function traceObject(myObj:Object) {
      trace("Using a regular trace: " + myObj);
      trace("");
      trace("Using a for loop: ");
      for (var i in myObj) {
        trace(i + ' = ' + myObj[i]);
      }
    }
  }
}
</pre>
<p>Save this file in a folder structure of <em>ca\flashdev\debug</em>.</p>
<p>Create a new movie named <em>traceObject.fla</em> and add the following code to the first frame of the timeline:</p>
<pre>
import ca.flashdev.debug.ObjectDebug;
var classInstance:ObjectDebug = new ObjectDebug();
var myObj:Object = new Object();
myObj.firstName = "Fraser";
myObj.lastName = "Crosbie";
myObj.occupation = "Flash Developer";
classInstance.traceObject(myObj);
</pre>
<p>Save this file into the same directory as the <em>ca</em> folder and <em>Test Movie (Ctrl+Enter)</em>.<br />
The results in your Output window should be:</p>
<pre>
Using a regular trace: [object Object]  

Using a for loop:
firstName = Fraser
lastName = Crosbie
occupation = Flash Developer
</pre>
<p>In AS2 I would recommend using the <em>ObjectDumper</em> to trace the insides of an Object, but it appears that they have yet to write AS3 versions of the <em>mx</em> classes.</p>
<p><a id="p12" href="http://www.flashdev.ca/wp-content/uploads/2006/07/traceObject.zip">Download the source files</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.flashdev.ca/article/trace-objects/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
