<?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>Nate Beck - Adobeholic &#187; Flex</title>
	<atom:link href="http://blog.natebeck.net/tag/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.natebeck.net</link>
	<description>RIA Developer, Flex / Flash, Widgets</description>
	<lastBuildDate>Wed, 21 Jul 2010 19:20:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Speaking at 360&#124;Flex San Jose 2010</title>
		<link>http://blog.natebeck.net/2010/01/speaking-at-360flex-san-jose-2010/</link>
		<comments>http://blog.natebeck.net/2010/01/speaking-at-360flex-san-jose-2010/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 07:58:22 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[PushButton]]></category>
		<category><![CDATA[360|Flex]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[PushButton Engine]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=948</guid>
		<description><![CDATA[So if you haven&#8217;t seen my fun badge there on the right side of my blog&#8230; &#8212;> I will be speaking at 360&#124;Flex San Jose. If you haven&#8217;t attended a 360&#124;Flex conference before, you really should. In my opinion, 360&#124;Flex is the best conference out there for Flex developers. It&#8217;s put on by developers for]]></description>
			<content:encoded><![CDATA[<p style="clear: both">So if you haven&#8217;t seen my fun badge there on the right side of my blog&#8230; <strong>&#8212;></strong></p>
<p style="clear: both">I will be speaking at 360|Flex San Jose.</p>
<p style="clear: both">
<p style="clear: both">If you haven&#8217;t attended a 360|Flex conference before, you really should. In my opinion, 360|Flex is the best conference out there for Flex developers. It&#8217;s put on by developers for developers.</p>
<p style="clear: both">
<p style="clear: both">It is a very focused conference, where you can really get into the nitty gritty of Flex and geek out with other members of the community. Plus the food isn&#8217;t half bad.</p>
<p style="clear: both">
<p style="clear: both">
<h3>When are you speaking?</h3>
</p>
<p style="clear: both">
<p style="clear: both">I&#8217;ll be speaking on Wednesday, March 10th (my birthday) from 1:00 pm &#8211; 2:20 pm.</p>
<p style="clear: both">
<p style="clear: both">
<h3>What will you be speaking about?</h3>
</p>
<p style="clear: both">
<p style="clear: both"><strong>Session Title:</strong> Flexible Games&#8230; game development with stuff you already know.</p>
<p style="clear: both">
<p style="clear: both"><strong>Session Level:</strong> Intermediate</p>
<p style="clear: both">
<p style="clear: both"><strong>Description:</strong> I don&#8217;t know about you&#8230; but as an enterprise software developer, sometimes I need to take a break from the corporate world and want to develop something fun. In this session Nate Beck will take you through the basics of game development using the Flex SDK you know and love.</p>
<p style="clear: both">
<p style="clear: both">Nate will walk you through setting up your development environment, the basics of game development, using the open source PushButton game engine and building a functioning game.</p>
<p style="clear: both">
<p style="clear: both">
<h3>What will Doug McCune do for revenge?</h3>
</p>
<p style="clear: both">
<p style="clear: both">For those of you who weren&#8217;t at 360|Flex in Indianapolis, <a href="http://dougmccune.com/blog/2009/05/25/i-got-punkd-at-360flex-in-my-own-session/">there was an incident</a>&#8230; You can read about it in my <a href="http://blog.natebeck.net/2009/06/punking-doug-mccune/">Punking Doug McCune</a> post.</p>
<p style="clear: both">
<p style="clear: both">Since the incident, Doug has vowed to get payback. And if you don&#8217;t know Doug, he is a scary creative guy. So we&#8217;ll have to see what he comes up with. Find out, along with me at my session.</p>
<p style="clear: both">
<p style="clear: both">
<h3>Alright I&#8217;m convinced, where do I sign up?</h3>
</p>
<p style="clear: both">
<p style="clear: both">Either <a href="http://360flex-NateB.eventbrite.com/" target="_blank">click here</a> or click the 360|Flex San Jose badge on the top right of my blog.</p>
<p style="clear: both">
<p style="clear: both">More information about travel and the conference in general can be found on the <a href="http://www.360flex.com">360|Flex Website</a>.</p>
<p><br class="final-break" style="clear: both" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2010/01/speaking-at-360flex-san-jose-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing games with PushButton Engine &#8211; Part 1 &#8211; Using Flex and Flash Builder</title>
		<link>http://blog.natebeck.net/2009/10/developing-games-with-pushbutton-engine-using-flex-and-flash-builder/</link>
		<comments>http://blog.natebeck.net/2009/10/developing-games-with-pushbutton-engine-using-flex-and-flash-builder/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 05:38:47 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PushButton]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=845</guid>
		<description><![CDATA[So I know I haven&#8217;t posted in quite some time. Between work, BugQuash, MAX, contributing to PushButton Engine, my country&#8217;s 500th anniversary to plan, my wedding to arrange, my wife to murder and Guilder to frame for it, I&#8217;ve been swamped. But tonight&#8230; I break my blog silence. As I just mentioned, I&#8217;ve been contributing]]></description>
			<content:encoded><![CDATA[<p>So I know I haven&#8217;t posted in quite some time.  Between work, BugQuash, MAX, contributing to PushButton Engine, my country&#8217;s 500th anniversary to plan, my wedding to arrange, my wife to murder and Guilder to frame for it, I&#8217;ve been swamped.</p>
<p>But tonight&#8230; I break my blog silence.  As I just mentioned, I&#8217;ve been contributing to the <a href="http://pushbuttonengine.com/" target="_blank">PushButton Flash Game Engine</a>.  I&#8217;m now going to show you how to set up Flex Builder 3 or Flash Builder 4 in a way that allows you to develop games on PushButton Engine, as well as how to work on the core engine itself.  I&#8217;m breaking this down into very small pieces so that everyone can follow along.  So it&#8217;s going to be a long post with lots of pretty pictures.</p>
<p>After writing this post, it ended up being longer than I hoped.  So I&#8217;m going to write a series of posts about developing games using PushButton Engine.  This post will focus only getting set up inside Flash and Flex Builder.  The plan is to add other IDEs in as well, for example FlashDevelop, FDT, etc&#8230;</p>
<h3>Step 1 : Download the PushButton Engine source code.</h3>
<p><b>[note]</b><br />
<i>If you are not familiar with Subversion or you need a primer to the basics of contributing to or working with open source projects please check out my <a href="http://blog.natebeck.net/2009/07/getting-dirty-with-the-flex-sdk-slides-and-recording/">&#8220;Getting Dirty with the Flex SDK&#8221;</a> post, more specifically the <a href="http://experts.na3.acrobat.com/p88453631/">TechWed Presentation</a>.</i><br />
<b>[/note]</b></p>
<h1><font color="#ff0000">WARNING!! For these steps to work, you must use at least revision 602 of the PushButton Engine.</font></h1>
</p>
<p>Download the PushButton Engine core from <a href="http://code.google.com/p/pushbuttonengine/source/checkout">Google Code</a>.  Since I am a developer in the engine, I have checked out trunk and all of the branches.  My working copy is located in /pbe (or C:/pbe on Windows). I will use that location throughout the rest of this post.  Make sure that if you choose a different location that you sub it in wherever I use &#8220;/pbe&#8221;.</p>
<p>So on OS X, to checkout the source code, open up Terminal and type in the following lines:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>
<span style="color: #c20cb9; font-weight: bold;">svn</span> checkout http:<span style="color: #000000; font-weight: bold;">//</span>pushbuttonengine.googlecode.com<span style="color: #000000; font-weight: bold;">/</span>svn<span style="color: #000000; font-weight: bold;">/</span> pbe</pre></div></div>

<h3>Step 2 : Import the PBEngine Library project within Flex/Flash Builder.</h3>
<p>Open up Flex Builder (or Flash Builder), right click in the Flex Navigator and choose Import. (You can also use File > Import > Other).<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/001_import.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/001_import-300x225.png" alt="Import Project" title="Import Project" width="300" height="225" class="size-medium wp-image-847" /></a></p>
<p>Open up the &#8220;General&#8221; folder and choose &#8220;Existing Projects into Workspace&#8221; and click &#8220;Next&#8221;.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/002_existing.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/002_existing-288x300.png" alt="002_existing" title="002_existing" width="288" height="300" class="alignnone size-medium wp-image-848" /></a></p>
<p>Click the &#8220;Browse&#8221; button next to &#8220;Select root directory&#8221;.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/003_rootDir.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/003_rootDir-300x100.png" alt="003_rootDir" title="003_rootDir" width="300" height="100" class="alignnone size-medium wp-image-849" /></a></p>
<p>In revision 600 of the PushButton Engine I added &#8220;FB3&#8243; and &#8220;FB4&#8243; directories underneath &#8220;trunk/development&#8221;.  These directories have a Flex Library project skeleton within them that can be imported directly into Flex Builder.</p>
<p>If you are using Flex Builder 3, use the FB3 directory, and if you&#8217;re using Flash Builder 4, use the FB4 directory.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/004_selectFB3.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/004_selectFB3-300x184.png" alt="004_selectFB3" title="004_selectFB3" width="300" height="184" class="alignnone size-medium wp-image-850" /></a></p>
<p>Click Finish.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/005_selectedPBEngine.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/005_selectedPBEngine-287x300.png" alt="005_selectedPBEngine" title="005_selectedPBEngine" width="287" height="300" class="alignnone size-medium wp-image-851" /></a></p>
<p>You will see a Flex Library project in the Flex Navigator now.  You will also have an error, don&#8217;t worry, we&#8217;ll fix that in the next step.</p>
<h3>Step 3 : Setup the a Linked Resource for PBE</h3>
<p>So here is the error that you will see:<br />
<i>configuration variable &#8216;compiler.source-path&#8217; value contains unknown token &#8216;PBE&#8217;</i><br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/006_error.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/006_error-300x224.png" alt="006_error" title="006_error" width="300" height="224" class="alignnone size-medium wp-image-852" /></a></p>
<p>The project skeleton uses something called a &#8220;Linked Resource&#8221;, so that it can find the PushButton Engine source files.  To set this Linked Resource, you do the following:</p>
<p>Open up Flex Builder&#8217;s preferences.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/007_preferences.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/007_preferences-300x214.png" alt="007_preferences" title="007_preferences" width="300" height="214" class="alignnone size-medium wp-image-853" /></a></p>
<p>Under General > Workspace > Linked Resources&#8230; Click &#8220;New&#8230;&#8221;<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/008_linkedResources.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/008_linkedResources-300x246.png" alt="008_linkedResources" title="008_linkedResources" width="300" height="246" class="alignnone size-medium wp-image-854" /></a></p>
<p>Click on the &#8220;Folder&#8230;&#8221; button and navigate to the PushButton Engine &#8220;trunk&#8221; folder, &#8220;/pbe/trunk&#8221; (C:/pbe/trunk on Windows).<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/009_selectFolder.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/009_selectFolder-300x140.png" alt="009_selectFolder" title="009_selectFolder" width="300" height="140" class="alignnone size-medium wp-image-855" /></a></p>
<p>Hit &#8220;OK&#8221; and you should see PBE listed in the Linked Resources now.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/010_PBEResource.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/010_PBEResource-300x295.png" alt="010_PBEResource" title="010_PBEResource" width="300" height="295" class="alignnone size-medium wp-image-856" /></a></p>
<p>Clean the project to incorporate and rebuild all of the changes.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/011_cleanProject.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/011_cleanProject-300x208.png" alt="011_cleanProject" title="011_cleanProject" width="300" height="208" class="alignnone size-medium wp-image-857" /></a></p>
<p>If you see PBEngine.swc underneath the bin folder, you are good to go!  Nice work!<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/012_projectWSource.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/012_projectWSource-180x300.png" alt="012_projectWSource" title="012_projectWSource" width="180" height="300" class="alignnone size-medium wp-image-858" /></a></p>
<h2>:: UPDATE ::</h2>
<p>There have been file renames and other changes in the PushButton engine since this post.  If your SWC is failing to build do the following. </p>
<p>In the Flex Navigator, right click on the PBEngine Flex Library project.  Click Properties.  Go to &#8220;Flex Build Library Path&#8221;, under &#8220;Classes&#8221; uncheck [source path] src and recheck it.  If you are using Flash Builder 4, you can simply select &#8220;Include all classes from all source paths&#8221;.  Any other questions&#8230; post a comment and I&#8217;ll answer them.</p>
<h3>Step 4 : Create your game!</h3>
<p>For this example I&#8217;m going to create a VERY simple Hello World game to show that we have everything working correctly.</p>
<p>Right-click in Flex Navigator and choose &#8220;New&#8221; > &#8220;ActionScript Project&#8221;.</p>
<p>Give it a name of &#8220;HelloGame&#8221;, and click Finish.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/013_createASOnly.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/013_createASOnly-178x300.png" alt="013_createASOnly" title="013_createASOnly" width="178" height="300" class="alignnone size-medium wp-image-859" /></a></p>
<p>Now, to use the PBEngine Library within our HelloGame project, we need to create a link between the two.  </p>
<p>To do this, right click on the &#8220;HelloGame&#8221; project and choose &#8220;Properties&#8221;.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/014_helloProperties.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/014_helloProperties-175x300.png" alt="014_helloProperties" title="014_helloProperties" width="175" height="300" class="alignnone size-medium wp-image-860" /></a></p>
<p>Choose &#8220;ActionScript Build Path&#8221; from the list, and then click on &#8220;Add Project&#8230;&#8221;<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/015_AddProject.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/015_AddProject-300x269.png" alt="015_AddProject" title="015_AddProject" width="300" height="269" class="alignnone size-medium wp-image-861" /></a></p>
<p>You should see &#8220;PBEngine&#8221; in the list.</p>
<p>If you don&#8217;t see PBEngine, or you get a message that tells you, &#8220;There are no Flex Library projects in your workspace&#8221;, make sure that a) you have created a PBEngine Library by following the previous steps and b) the project is not closed.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/016_PBEngine.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/016_PBEngine-300x264.png" alt="016_PBEngine" title="016_PBEngine" width="300" height="264" class="alignnone size-medium wp-image-862" /></a></p>
<p>Select &#8220;PBEngine&#8221; and click &#8220;OK&#8221;.  You will now see PBEngine listed in the Build path libraries box.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/017_withLibrary.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/017_withLibrary-300x258.png" alt="017_withLibrary" title="017_withLibrary" width="300" height="258" class="alignnone size-medium wp-image-863" /></a></p>
<p>Now that the two projects are linked, you can start using classes right out of the PushButton Engine.  Code completion works, and everything compiles. Woot!<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/018_Intellisense.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/018_Intellisense-300x186.png" alt="018_Intellisense" title="018_Intellisense" width="300" height="186" class="alignnone size-medium wp-image-864" /></a></p>
<p>Great, now let&#8217;s write our impressive Hello World game.</p>
<p>Here is the source:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package <span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">pblabs</span>.<span style="color: #006600;">engine</span>.<span style="color: #006600;">PBE</span>;
	<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">pblabs</span>.<span style="color: #006600;">engine</span>.<span style="color: #006600;">debug</span>.<span style="color: #006600;">Logger</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> HelloGame <span style="color: #0066CC;">extends</span> Sprite
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> HelloGame<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			PBE.<span style="color: #006600;">startup</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span><span style="color: #66cc66;">&#41;</span>;
			Logger.<span style="color: #0066CC;">print</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>, <span style="color: #ff0000;">&quot;Hello Nate!&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Run or Debug the game.  At first you will see a blank screen, that is expected&#8230; Press the ~ (tilde or `) key, and the PushButton Console should come up.</p>
<p>The console has some commands by default: help, version, showFps and verbose (1 || 2)<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/10/020_console.png"><img src="http://blog.natebeck.net/wp-content/uploads/2009/10/020_console-300x213.png" alt="020_console" title="020_console" width="300" height="213" class="alignnone size-medium wp-image-866" /></a></p>
<p>You can add your own custom commands to the console to assist you while developing your games&#8230; but that is a post for another time.</p>
<p>Any questions, be sure to hit us up over on the <a href="http://pushbuttonengine.com/community/">PushButton Engine Forums</a> or in the freenode IRC channel: #pbengine.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/10/developing-games-with-pushbutton-engine-using-flex-and-flash-builder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Flash Builder 4 and Flash Catalyst Betas Are Out!!</title>
		<link>http://blog.natebeck.net/2009/05/the-flash-builder-4-and-flash-catalyst-betas-are-out/</link>
		<comments>http://blog.natebeck.net/2009/05/the-flash-builder-4-and-flash-catalyst-betas-are-out/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 05:21:27 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Flash Builder]]></category>
		<category><![CDATA[Flash Catalyst]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=784</guid>
		<description><![CDATA[So I was going to write a great long blog post about how the Flash Catalyst and Flash Builder 4 betas are out&#8230; and resources you can use get started&#8230; But Ryan Stewart and Serge Jespers have both written amazing posts already. So all of you should do as I&#8217;m doing, and go download the]]></description>
			<content:encoded><![CDATA[<p>So I was going to write a great long blog post about how the <a href="http://labs.adobe.com/technologies/flashcatalyst/" target="_blank">Flash Catalyst</a> and <a href="http://labs.adobe.com/technologies/flashbuilder4/" target="_blank">Flash Builder 4</a> betas are out&#8230; and resources you can use get started&#8230; But <a href="http://blog.digitalbackcountry.com/2009/05/flash-builder-and-flash-catalyst-betas-now-available/" target="_blank">Ryan Stewart</a> and <a href="http://www.webkitchen.be/2009/05/31/get-your-flash-catalyst-flash-builder-beta-now/" target="_blank">Serge Jespers</a> have both written amazing posts already.  So all of you should do as I&#8217;m doing, and go download the betas and start finding bugs!!</p>
<p>I do give huge props to Adobe for releasing both of these betas in &#8220;June&#8221; <a href="http://forums.adobe.com/thread/439433?tstart=0" target="_blank">as they said they would</a>.  To be quite honest, it&#8217;s still technically May here in Seattle.  Great work Adobe, another job well done.  *slow clap*</p>
<h3>:: UPDATE ::</h3>
<p>Also, major props to the Flex SDK team for getting the beta out even with all of the Fx prefix madness that has been going on. </p>
<h3>:: UPDATE 2 ::</h3>
<p>Adobe Developer Connection has posted a list of informational links about Flash Builder 4, Flex 4 SDK and Flash Catalyst.  <a href="http://blogs.adobe.com/adc/2009/06/new_content_for_flex_4_sdk_bet.html" target="_blank">Check it out</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/05/the-flash-builder-4-and-flash-catalyst-betas-are-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; How to create a prompt field on your mx:ComboBox</title>
		<link>http://blog.natebeck.net/2009/04/tip-of-the-day-how-to-create-a-prompt-field-on-your-mxcombobox/</link>
		<comments>http://blog.natebeck.net/2009/04/tip-of-the-day-how-to-create-a-prompt-field-on-your-mxcombobox/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 08:55:55 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[ComboBox]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=772</guid>
		<description><![CDATA[For a long time I&#8217;ve been doing things like this within Flex. &#91;Bindable&#93; private var _skills:Array = &#91; &#123;label: &#34;---&#34;, id: -1&#125;, &#123;label: &#34;1 - Newbie&#34;, id: 1&#125;, &#123;label: &#34;2 - Some Experience&#34;, id: 2&#125;, &#123;label: &#34;3 - Expert&#34;, id: 3&#125;, &#123;label: &#34;4 - I'm a baller&#34;, id: 4&#125; &#93;; And then binding this data]]></description>
			<content:encoded><![CDATA[<p>For a long time I&#8217;ve been doing things like this within Flex.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span> <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _skills:<span style="color: #0066CC;">Array</span> = 
<span style="color: #66cc66;">&#91;</span>
	<span style="color: #66cc66;">&#123;</span>label: <span style="color: #ff0000;">&quot;---&quot;</span>, id: -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span>label: <span style="color: #ff0000;">&quot;1 - Newbie&quot;</span>, id: <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span>label: <span style="color: #ff0000;">&quot;2 - Some Experience&quot;</span>, id: <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span>label: <span style="color: #ff0000;">&quot;3 - Expert&quot;</span>, id: <span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#125;</span>,
	<span style="color: #66cc66;">&#123;</span>label: <span style="color: #ff0000;">&quot;4 - I'm a baller&quot;</span>, id: <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#93;</span>;</pre></div></div>

<p>And then binding this data provider to a ComboBox&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:ComboBox</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;skillsCB&quot;</span> <span style="color: #000066;">dataProvider</span>=<span style="color: #ff0000;">&quot;{_skills}&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>Well it turns out there is a much easier way of doing this that I never knew of until today.  ComboBox has a &#8220;prompt&#8221; attribute that you can set.  It&#8217;s so easy&#8230;</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;mx:ComboBox</span> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">&quot;skillsCB&quot;</span> <span style="color: #000066;">dataProvider</span>=<span style="color: #ff0000;">&quot;{_skills}&quot;</span> <span style="color: #000066;">prompt</span>=<span style="color: #ff0000;">&quot;---&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div>

<p>I told you it was easy.  Can&#8217;t believe I never noticed it before.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/04/tip-of-the-day-how-to-create-a-prompt-field-on-your-mxcombobox/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; Flex Coding Conventions</title>
		<link>http://blog.natebeck.net/2009/02/tip-of-the-day-flex-coding-conventions/</link>
		<comments>http://blog.natebeck.net/2009/02/tip-of-the-day-flex-coding-conventions/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 04:55:29 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[Adobe]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=666</guid>
		<description><![CDATA[Today&#8217;s tip is a short one&#8230; I have begun planning a very exciting Flex-centric event that is going to be held up here in Seattle. More on that later though. Your tip for the day&#8230; The Flex SDK team has a guide that explains the coding conventions that they use within the SDK (for the]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s tip is a short one&#8230; I have begun planning a very exciting Flex-centric event that is going to be held up here in Seattle.  More on that later though.</p>
<p>Your tip for the day&#8230; The Flex SDK team has a guide that explains the coding conventions that they use within the SDK (for the most part).</p>
<p><a href="http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions" target="_blank">Flex SDK coding conventions and best practices</a></p>
<p>I agree with almost all of the conventions they list here.  If you&#8217;re planning on <a href="http://blog.natebeck.net/2008/12/why-you-should-contribute-to-flex/" target="_blank">contributing the to Flex SDK</a>, you NEED to be familiar with these conventions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/02/tip-of-the-day-flex-coding-conventions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; Understanding the Flex bug system (JIRA)</title>
		<link>http://blog.natebeck.net/2009/02/tip-of-the-day-understanding-the-flex-bug-system-jira/</link>
		<comments>http://blog.natebeck.net/2009/02/tip-of-the-day-understanding-the-flex-bug-system-jira/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 06:50:10 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[JIRA]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=659</guid>
		<description><![CDATA[Today a bug that I have been watching was resolved as &#8216;Not a Bug&#8217;. In the QA team&#8217;s defense, the original bug description was not very clear. I have commented on the bug explaining why it needed to be reopened. This situation brings up a valid question. How do we (the Flex community) effectively help]]></description>
			<content:encoded><![CDATA[<p>Today a <a href="http://bugs.adobe.com/jira/browse/SDK-15356" target="_blank">bug</a> that I have been watching was resolved as &#8216;Not a Bug&#8217;.  In the QA team&#8217;s defense, the original bug description was not very clear.  I have commented on the bug explaining why it needed to be reopened.</p>
<p>This situation brings up a valid question.</p>
<p>How do we (the Flex community) effectively help the Flex SDK team in a way that doesn&#8217;t hinder them? Let&#8217;s face it, spamming the inbox of Flex team members isn&#8217;t going to get us anywhere.  </p>
<p>As I was contemplating this situation, I opened up my Google Reader.  It turns out that <a href="http://butterfliesandbugs.wordpress.com/" target="_blank">Joan</a> (a member of the Flex SDK QA team) has a series of posts discussing tips and tricks to using JIRA, along with what we can do to escalate issues that are important.</p>
<p>So for today&#8217;s tip, I&#8217;m going to provide links to these great posts:</p>
<ul>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/01/29/flex-sdk-fixed-bugs-in-33/" target="_blank">Flex SDK Fixed Bugs in 3.3</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/02/flex-jira-tips-part-i-voting-on-bugs/" target="_blank">Flex JIRA Tips (part I): Voting on Bugs</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/03/flex-jira-tips-part-ii-xml-feeds-and-email-subscriptions/" target="_blank">Flex JIRA Tips (part II) : XML Feeds and Email Subscriptions</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/04/flex-jira-tips-how-do-i-reopen-a-closed-bug/" target="_blank">Flex JIRA Tips (part III): How do I reopen a â€˜Closedâ€™ bug?</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/05/flex-jira-tips-part-iv-community-fix-candidates/" target="_blank">Flex JIRA Tips (part IV): Community Fix Candidates</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/08/flex-jira-tips-part-v-what-does-it-mean-when-my-bug-is-deferred/" target="_blank">Flex JIRA Tips (part V) &#8211; What does it mean when my bug is â€˜Deferredâ€™?</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/13/flex-jira-tips-part-vi-understanding-milestones/" target="_blank">Flex JIRA Tips (part VI): Understanding Milestones</a></li>
<li><a href="http://butterfliesandbugs.wordpress.com/2009/02/20/flex-jira-tips-part-vii-how-do-i-request-a-feature-in-flex/" target="_blank">Flex JIRA Tips (part VII): How do I request a Feature in Flex?</a></li>
</ul>
<p>I&#8217;ll update these links as she posts more.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/02/tip-of-the-day-understanding-the-flex-bug-system-jira/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; Using interactive assets from Flash in Flex</title>
		<link>http://blog.natebeck.net/2009/01/tip-of-the-day-using-interactive-assets-from-flash-in-flex/</link>
		<comments>http://blog.natebeck.net/2009/01/tip-of-the-day-using-interactive-assets-from-flash-in-flex/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 06:39:15 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=578</guid>
		<description><![CDATA[So for the most part... up to this point I haven't really needed to use extensive Flash animations within Flex.  I mean like most people, I've embedded swf assets into my Flex application by using the [Embed] metadata tag.  However, using the Embed metadata tag, in my opinion, is for static assets or simple animations... you know... images, animation only swfs, fonts, etc...

Today I found a cool button that I wanted to use in my Flex application.  
]]></description>
			<content:encoded><![CDATA[<p>So for the most part&#8230; up to this point I haven&#8217;t really needed to use extensive Flash animations within Flex.  I mean like most people, I&#8217;ve embedded swf assets into my Flex application by using the [Embed] metadata tag.  However, using the Embed metadata tag, in my opinion, is for static assets or simple animations&#8230; you know&#8230; images, animation only swfs, fonts, etc&#8230;</p>
<p>Today I found a cool button that I wanted to use in my Flex application.  </p>
<p>The button (roll your mouse over me):<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_exampleButton_1110504814"
			class="flashmovie"
			width="50"
			height="50">
	<param name="movie" value="http://blog.natebeck.net/flash/experiments/exampleButton.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.natebeck.net/flash/experiments/exampleButton.swf"
			name="fm_exampleButton_1110504814"
			width="50"
			height="50">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>The thing about this button is that it has complex roll over and roll out animations.  Of course we could create the same thing within Flex using an ActionScript <a href="http://www.gskinner.com/libraries/gtween/" target="_blank">tween</a> class&#8230; but some things are better left to the Flash timeline.</p>
<p>So how do we get our button into Flex, with all of its animation and interactivity intact?  The answer, my friends, is to use Adobe&#8217;s Flex Component Kit.  </p>
<p>Doing some research online, it&#8217;s not really clear where to get it, or how to use it.  According to <a href="http://labs.adobe.com/wiki/index.php/Flex_Component_Kit_for_Flash_CS3" target="_blank">labs</a>, it&#8217;s released within Flex 3&#8230; but I don&#8217;t have a clue where.  So we&#8217;re going to do this my way&#8230;</p>
<h3>Step 1 : Install Adobe Extension Manager 2.1</h3>
<p><i>Obviously, you can skip this step if you already have Extension Manager 2.1 installed.</i></p>
<p>If you didn&#8217;t install the Adobe Extension Manager when you installed your copy of CS4, you can download it here &#8212;> <a href="http://www.adobe.com/exchange/em_download/" target="_blank">Download Adobe Extension Manager</a></p>
<p>If you already had Adobe Extension Manager installed&#8230; just be sure it has been updated to version 2.1.</p>
<p>Download and open up Setup.app<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_01.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_01-300x203.png" alt="installfck_01" title="installfck_01" width="300" height="203" class="alignnone size-medium wp-image-593" /></a></p>
<p>Click Next<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_02.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_02-300x196.png" alt="installfck_02" title="installfck_02" width="300" height="196" class="alignnone size-medium wp-image-594" /></a></p>
<p>Let it run<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_03.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_03-300x204.png" alt="installfck_03" title="installfck_03" width="300" height="204" class="alignnone size-medium wp-image-595" /></a></p>
<p>You&#8217;re welcome Adobe<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_05.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_05-300x206.png" alt="installfck_05" title="installfck_05" width="300" height="206" class="alignnone size-medium wp-image-596" /></a></p>
<p>Extension Manager &gt; About Extension Manager<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_06.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_06-300x226.png" alt="installfck_06" title="installfck_06" width="300" height="226" class="alignnone size-medium wp-image-597" /></a></p>
<p>Says 2.1&#8230; cool, we&#8217;re ready to move on to step 2.</p>
<h3>Step 2 : Install the Flex Component Kit</h3>
<p>Now we need to go download the extension &#8212;> <a href="http://www.adobe.com/go/flex_ck_en" target="_blank">Download the Flex Component Kit</a> (you need an adobe.com account)</p>
<p>All the way at the bottom you&#8217;ll find the extension we&#8217;re looking for&#8230; Flex Component Kit for Flash CS3 Professional (I know it says CS3 and we&#8217;re working in CS4, don&#8217;t worry)<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_07.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_07-300x81.png" alt="installfck_07" title="installfck_07" width="300" height="81" class="alignnone size-medium wp-image-598" /></a></p>
<p>Once downloaded, unzip and double-click FlexComponentKit.mxp<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_08.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_08-300x174.png" alt="installfck_08" title="installfck_08" width="300" height="174" class="alignnone size-medium wp-image-599" /></a></p>
<p>Read this whole agreement and <i>only</i> if you agree the terms click &#8220;Accept&#8221;<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_09.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_09-300x226.png" alt="installfck_09" title="installfck_09" width="300" height="226" class="alignnone size-medium wp-image-600" /></a><br />
&#8230;how many of you read that?</p>
<p>Okay, you should see this now.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_10.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/installfck_10-300x230.png" alt="installfck_10" title="installfck_10" width="300" height="230" class="alignnone size-medium wp-image-601" /></a></p>
<p>Documentation for this component can be found here &#8212;> <a href="http://livedocs.adobe.com/flex/3/flash_component_kit_flex3.pdf" target="_blank">FCK Docs</a></p>
<p>Onward!</p>
<h3>Step 3 : The Flash Side</h3>
<p>Let&#8217;s take our button and load it into Flash.  We&#8217;re going to name it &#8220;MyButton&#8221;.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_01.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_01-300x189.png" alt="fck_part2_01" title="fck_part2_01" width="300" height="189" class="alignnone size-medium wp-image-604" /></a></p>
<p>Create an AS3 class to handle all of the button interactions we need<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_02.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_02-300x189.png" alt="fck_part2_02" title="fck_part2_02" width="300" height="189" class="alignnone size-medium wp-image-605" /></a></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package <span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">// MyButton</span>
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">flash</span>.<span style="color: #006600;">UIMovieClip</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">MouseEvent</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MyButton <span style="color: #0066CC;">extends</span> UIMovieClip
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> MyButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			buttonMode = <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">useHandCursor</span> = <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
			addEventListener<span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">MOUSE_OVER</span>, onOver<span style="color: #66cc66;">&#41;</span>;
			addEventListener<span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">MOUSE_OUT</span>, onOut<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> onOver<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">gotoAndPlay</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> onOut<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">gotoAndPlay</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;end&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Make sure you have MyButton selected in the Library, and then use Commands > Convert Symbol to Flex Component.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_03.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_03-300x194.png" alt="fck_part2_03" title="fck_part2_03" width="300" height="194" class="alignnone size-medium wp-image-606" /></a></p>
<p>Your output panel will let you know the command worked properly.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_04.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_04-300x78.png" alt="fck_part2_04" title="fck_part2_04" width="300" height="78" class="alignnone size-medium wp-image-607" /></a></p>
<p>Test the movie by pressing âŒ˜ + enter (ctrl + enter on the PC).<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_05.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_05-300x230.png" alt="fck_part2_05" title="fck_part2_05" width="300" height="230" class="alignnone size-medium wp-image-608" /></a></p>
<p>Publish the movie, which creates both a SWF and a SWC file.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_06.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_06-300x210.png" alt="fck_part2_06" title="fck_part2_06" width="300" height="210" class="alignnone size-medium wp-image-609" /></a></p>
<p>Now that we have our SWC file, we&#8217;re ready to move into Flex Builder.</p>
<h3>Step 4 : The Flex Side</h3>
<p>Copy our newly create SWC file into our libs directory.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_07.png" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fck_part2_07.png" alt="fck_part2_07" title="fck_part2_07" width="217" height="148" class="alignnone size-full wp-image-610" /></a></p>
<p>With the SWC in our libs directory, it will automatically be included in the classpath of our Flex application (see <a href="http://blog.natebeck.net/2009/01/use-libs-directory-in-flex-builder/" target="_blank">this tip</a> for more information on the libs directory).</p>
<p>The SWC file includes the MyButton class, so we can now write our code:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>?<span style="color: #0066CC;">xml</span> <span style="color: #0066CC;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> encoding=<span style="color: #ff0000;">&quot;utf-8&quot;</span>?<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;</span>mx:Application xmlns:mx=<span style="color: #ff0000;">&quot;http://www.adobe.com/2006/mxml&quot;</span> 
	xmlns:local=<span style="color: #ff0000;">&quot;*&quot;</span> 
	layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> <span style="color: #0066CC;">backgroundColor</span>=<span style="color: #ff0000;">&quot;0x000000&quot;</span> backgroundGradientAlphas=<span style="color: #ff0000;">&quot;[0,0]&quot;</span> 
	creationComplete=<span style="color: #ff0000;">&quot;onReady()&quot;</span><span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;</span>mx:Script<span style="color: #66cc66;">&gt;</span>
		<span style="color: #66cc66;">&lt;!</span><span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span>
			<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> onReady<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #808080; font-style: italic;">// How to use the custom button in ActionScript </span>
				<span style="color: #808080; font-style: italic;">/*
				var button:MyButton = new MyButton();
				button.x = 35;
				button.y = -10;
&nbsp;
				addChild(button);
				*/</span>
&nbsp;
				<span style="color: #808080; font-style: italic;">// And just for fun				</span>
				makeGrid<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> makeGrid<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> pad:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">35</span>;
				<span style="color: #000000; font-weight: bold;">var</span> gridWidth:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">10</span>;
				<span style="color: #000000; font-weight: bold;">var</span> gridHeight:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">10</span>;
				<span style="color: #000000; font-weight: bold;">var</span> yOffset:<span style="color: #0066CC;">int</span> = -<span style="color: #cc66cc;">45</span>;
				<span style="color: #000000; font-weight: bold;">var</span> xOffset:<span style="color: #0066CC;">int</span> = -<span style="color: #cc66cc;">25</span>;
&nbsp;
				<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> h:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">1</span>; h<span style="color: #66cc66;">&lt;</span>=gridHeight; h++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> w:<span style="color: #0066CC;">int</span>=<span style="color: #cc66cc;">1</span>; w<span style="color: #66cc66;">&lt;</span>=gridWidth; w++<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
						<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">button</span>:MyButton = <span style="color: #000000; font-weight: bold;">new</span> MyButton<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
						<span style="color: #0066CC;">button</span>.<span style="color: #006600;">x</span> = w<span style="color: #66cc66;">*</span>pad+xOffset;
						<span style="color: #0066CC;">button</span>.<span style="color: #006600;">y</span> = h<span style="color: #66cc66;">*</span>pad+yOffset;
						myPanel.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">button</span><span style="color: #66cc66;">&#41;</span>;
					<span style="color: #66cc66;">&#125;</span>
				<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;/</span>mx:Script<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;</span>mx:Panel id=<span style="color: #ff0000;">&quot;myPanel&quot;</span>
		layout=<span style="color: #ff0000;">&quot;absolute&quot;</span> <span style="color: #0066CC;">left</span>=<span style="color: #ff0000;">&quot;10&quot;</span> <span style="color: #0066CC;">right</span>=<span style="color: #ff0000;">&quot;10&quot;</span> top=<span style="color: #ff0000;">&quot;10&quot;</span> bottom=<span style="color: #ff0000;">&quot;10&quot;</span> 
		<span style="color: #0066CC;">backgroundColor</span>=<span style="color: #ff0000;">&quot;#1D1D1D&quot;</span> title=<span style="color: #ff0000;">&quot;Hey look, I'm a Flex Panel&quot;</span><span style="color: #66cc66;">/&gt;</span>
&nbsp;
	<span style="color: #66cc66;">&lt;!</span>-- How to use the custom <span style="color: #0066CC;">button</span> <span style="color: #b1b100;">in</span> MXML --<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;!</span>--<span style="color: #66cc66;">&lt;</span>local:MyButton x=<span style="color: #ff0000;">&quot;-5&quot;</span> y=<span style="color: #ff0000;">&quot;-10&quot;</span> <span style="color: #66cc66;">/&gt;</span>--<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>mx:Application<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p>And here&#8217;s what it looks like:<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_test_FlashAsset_533602447"
			class="flashmovie"
			width="435"
			height="450">
	<param name="movie" value="http://blog.natebeck.net/flash/experiments/test_FlashAsset.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.natebeck.net/flash/experiments/test_FlashAsset.swf"
			name="fm_test_FlashAsset_533602447"
			width="435"
			height="450">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Weeeeee&#8230;. that&#8217;s fun, you can download the <a href="http://blog.natebeck.net/flash/experiments/FlashAssetTest.zip" target="_blank">source here</a>.</p>
<p>The source there is an Archived Flex project, all you need to do is Import it into Flex Builder and you&#8217;re good to go.</p>
<p>That was a long tip, any questions please post them.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/01/tip-of-the-day-using-interactive-assets-from-flash-in-flex/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>My thoughts on today&#8217;s Flex Community Forum</title>
		<link>http://blog.natebeck.net/2009/01/my-thoughts-on-todays-flex-community-forum/</link>
		<comments>http://blog.natebeck.net/2009/01/my-thoughts-on-todays-flex-community-forum/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 07:09:44 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[SDK]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=533</guid>
		<description><![CDATA[Joan announced yesterday about, A Public Forum For the Flex Community Tomorrow. There has been some good and bad feedback regarding the open source aspects of the Flex SDK and the team has decided to go out into the community to hear your thoughts. You can call in to air your concerns or share ideas.]]></description>
			<content:encoded><![CDATA[<p><a href="http://butterfliesandbugs.wordpress.com/about/" target="_blank">Joan</a> announced yesterday about, <a href="http://butterfliesandbugs.wordpress.com/2009/01/28/a-public-forum-for-the-flex-community-tomorrow/" target="_blank">A Public Forum For the Flex Community Tomorrow</a>.</p>
<blockquote><p>
There has been some good and bad feedback regarding the open source aspects of the Flex SDK and the team has decided to go out into the community to hear your thoughts. You can call in to air your concerns or share ideas.
</p></blockquote>
<p>Lately there has been a big upheaval throughout the Flex community dealing with the <a href="http://www.returnundefined.com/2009/01/share-your-thoughts-on-the-fx-prefixes-in-flex-4" target="_blank">Fx prefixes in Flex 4</a>. I&#8217;m not going to get into it here, but long story short&#8230; many people in the community aren&#8217;t happy about it.</p>
<p>Even though the Flex SDK is &#8220;open source&#8221;, it is still tightly controlled by Adobe.  All of the planning, new features, all the decisions reside within Adobe. There is the <a href="http://bugs.adobe.com/flex/" target="_blank">Flex Bug System</a> and it accepts feature requests from the community, which they take into account&#8230; but let&#8217;s face it, it&#8217;s a weak solution.</p>
<p>Today, I had the opportunity to attend the forum. It was absolutely a step in the right direction. Sure, they might have ticked some people off&#8230; Nobody likes being told, &#8220;This is how we are going to do it, and you have no choice&#8221;.  That&#8217;s not what open source software is about. Sure, it might be too late to take the Fx prefix out of Gumbo&#8230; but at least Adobe came to their senses and realized that the community is as vested in this technology as they are.</p>
<p>From my own personal experience&#8230; there is a certain disappointment that comes when you&#8217;ve invested your own time to contribute to the Flex SDK just to have it deferred or ignored.  We&#8217;re not being paid to build these things.  Don&#8217;t take this blog post as a complaint about Adobe or the Flex SDK team, it&#8217;s not meant to be that at all.  I just think that if Adobe trusts more in the community we can build something amazing. </p>
<p>I think it would be a great thing for Adobe to promote select community members&#8230; invite them into planning and discussions, assign features and bugs to them, involve them in decision making.  I can rattle off a list of people who would love to be involved on that level with the Flex SDK, me being one of them.</p>
<p>I said it during the meeting, and I&#8217;ll say it again.  The Flex SDK team should realize that even though it&#8217;s their full-time job to make this platform the best it can be.. for a lot of us, it&#8217;s our full-time job dealing with the decisions that are made.</p>
<h3>:: Update ::</h3>
<p><a href="http://blogs.adobe.com/open/2009/01/follow_up_to_the_flex_sdk_disc.html" target="_blank">The recording is now available</a>.</p>
<h3>Additional Links</h3>
<p><a href="http://jessewarden.com/2009/01/flex-community-feedback-forum-attend-or-open-source-may-end.html" target="_blank">Jesse Warden&#8217;s thoughts on the issue</a><br />
<a href="http://www.rachaelandtom.info/content/flex-sdk-team-talk" target="_blank">Tom Chiverton&#8217;s thoughts on the talk</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/01/my-thoughts-on-todays-flex-community-forum/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; When to use include</title>
		<link>http://blog.natebeck.net/2009/01/tip-of-the-day-when-to-use-include/</link>
		<comments>http://blog.natebeck.net/2009/01/tip-of-the-day-when-to-use-include/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 07:31:20 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=277</guid>
		<description><![CDATA[A little while ago I posed the following question to the flexcoders mailing list, I just wanted to ping everyone and get their opinion on something. Why would anyone ever want to use the include directive? I&#8217;ve recently been working on poorly designed project where at the top of every module there is an &#8220;include]]></description>
			<content:encoded><![CDATA[<p>A little while ago I posed the following question to the <a href="http://tech.groups.yahoo.com/group/flexcoders/">flexcoders</a> mailing list,</p>
<blockquote><p>
I just wanted to ping everyone and get their opinion on something.  Why would anyone ever want to use the include directive?  I&#8217;ve recently been working on poorly designed project where at the top of every module there is an &#8220;include Header.as&#8221; statement that has 30 include statements within it.  To give a datagrid additional functionality, you give it an id=&#8221;myDataGrid&#8221;, and the include statement takes care of the rest.  It&#8217;s really bad.</p>
<p>I just don&#8217;t see a good use for the include statement anymore. In my opinion, it just promotes bad programming practices.</p>
<p>I mean, can&#8217;t everything be taken care of using OOP methodologies? Thoughts?
</p></blockquote>
<p>I&#8217;d like to thank everyone who responded, you all gave me quite a bit of insight.  </p>
<p>After thinking about this for a while now, here is my list of the common reasons people incorrectly use include (<a href="http://livedocs.adobe.com/flex/2/langref/statements.html#include">include directive</a>).</p>
<h4>I have common functionality that I want shared across multiple components.</h4>
<p>That&#8217;s great that you&#8217;re using <a href="http://en.wikipedia.org/wiki/Don't_repeat_yourself">DRY</a> philosophy! However, it&#8217;s much better to combine the DRY philosophy with <a href="http://en.wikipedia.org/wiki/Object-oriented_programming">object-oriented programming</a> practices. Instead of using the include directive, abstract out common functionality into a parent class. Then you can create children of your parent component, and add additional functionality as needed.</p>
<h4>I&#8217;m building a framework.</h4>
<p>Great&#8230; don&#8217;t use include.  See above reason.</p>
<h4>I want to use Code-Behind.</h4>
<p>Ted Patrick wrote a wonderful post on <a href="http://www.onflex.org/ted/2007/02/code-behind-in-flex-2.php">Code-Behind in Flex 2</a>. He accomplishes Code-Behind, and does so in an object-oriented manner without using include statements.</p>
<h4>Adobe doesn&#8217;t natively allow multiple inheritance in AS3, and using the include directive is the only way to fake it.</h4>
<p>Frankly, if you understand that statement&#8230; you&#8217;re advanced enough to know what you&#8217;re doing, and you don&#8217;t need this tip.</p>
<h4>== Conclusion ==</h4>
<p>There are <strong><i>rare</i></strong> occasions where include is exactly what you need. However, if you still feel you have a valid reason to use the include directive on a regular basis, please leave a comment below and explain yourself.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/01/tip-of-the-day-when-to-use-include/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tip of the Day &#8211; Using Fireworks to skin those Flex Applications</title>
		<link>http://blog.natebeck.net/2009/01/tip-of-the-day-using-fireworks-to-skin-those-flex-applications/</link>
		<comments>http://blog.natebeck.net/2009/01/tip-of-the-day-using-fireworks-to-skin-those-flex-applications/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 16:47:41 +0000</pubDate>
		<dc:creator>Nate Beck</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tip of the day]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Fireworks]]></category>
		<category><![CDATA[Flex Builder]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[SeaFlex]]></category>
		<category><![CDATA[skinning]]></category>

		<guid isPermaLink="false">http://blog.natebeck.net/?p=310</guid>
		<description><![CDATA[Today I was going to post about using flashvars and widget development. However, as I started to document the process, it became too much information for a single tip. So I&#8217;m going to do a separate post walking you through my widget development process. Now on to today&#8217;s tip! To be honest with you guys,]]></description>
			<content:encoded><![CDATA[<p>Today I was going to post about using flashvars and widget development.  However, as I started to document the process, it became too much information for a single tip.  So I&#8217;m going to do a separate post walking you through my widget development process. Now on to today&#8217;s tip!   </p>
<p>To be honest with you guys, I&#8217;ve never really been a huge fan of Fireworks.  I&#8217;m a Photoshop guy, and I have been since version 5.5 (hooray ImageReady).  However, at our last <a href="http://www.seaflexug.org/">SeaFlex</a> meeting <a href="http://theflexguy.com/">Marty</a> gave a quick introduction into Flex skinning using Fireworks. My eyes were opened! So here is the basic run down of creating Flex skins using Fireworks CS4.</p>
<ol>
<li>Within Fireworks go to Commands &gt; Flex Skinning &gt; New Flex Skin<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_01.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_01-300x214.jpg" alt="fwskin_01" title="fwskin_01" width="300" height="214" class="alignnone size-medium wp-image-314" /></a></li>
<li>Select the components you want to skin.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_02.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_02-249x300.jpg" alt="fwskin_02" title="fwskin_02" width="249" height="300" class="alignnone size-medium wp-image-315" /></a></li>
<li>Skin to your heart&#8217;s desire.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_03.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_03-300x189.jpg" alt="fwskin_03" title="fwskin_03" width="300" height="189" class="alignnone size-medium wp-image-316" /></a></li>
<li>When you&#8217;re finished, go to Commands &gt; Flex Skinning &gt; Export Flex Skin<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_04.jpg"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_04-300x146.jpg" alt="fwskin_04" title="fwskin_04" width="300" height="146" class="alignnone size-medium wp-image-324" /></a></li>
<li>I created a new folder called testSkin and saved to that.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_05.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_05-300x262.jpg" alt="fwskin_05" title="fwskin_05" width="300" height="262" class="alignnone size-medium wp-image-325" /></a></li>
<li>Now in Flex Builder.  File &gt; Import &gt; Skin Artwork<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_06.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_06-300x277.jpg" alt="fwskin_06" title="fwskin_06" width="300" height="277" class="alignnone size-medium wp-image-326" /></a></li>
<li>Browse to the folder we just exported our assets to.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_07.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_07-295x300.jpg" alt="fwskin_07" title="fwskin_07" width="295" height="300" class="alignnone size-medium wp-image-327" /></a></li>
<li>Make sure the image to component mappings are correct.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_08.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_08-297x300.jpg" alt="fwskin_08" title="fwskin_08" width="297" height="300" class="alignnone size-medium wp-image-328" /></a></li>
<li>And&#8230;. you&#8217;re done.<br />
<a href="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_09.jpg" target="_blank"><img src="http://blog.natebeck.net/wp-content/uploads/2009/01/fwskin_09-300x168.jpg" alt="fwskin_09" title="fwskin_09" width="300" height="168" class="alignnone size-medium wp-image-329" /></a></li>
</ol>
<p>Amazing.</p>
<h3>:: UPDATE ::</h3>
<p>Marty just posted a PC (and more in depth version) of the skinning your Flex applications with Fireworks.  <a href="http://www.theflexguy.com/index.php?option=com_content&#038;view=article&#038;id=97:skinning-with-fireworks&#038;catid=35:marty">Read it here!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.natebeck.net/2009/01/tip-of-the-day-using-fireworks-to-skin-those-flex-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
