<?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>Tutorial &#8211; Software, Fitness, and Gaming &#8211; Jesse Warden</title>
	<atom:link href="https://jessewarden.com/category/tutorial/feed" rel="self" type="application/rss+xml" />
	<link>https://jessewarden.com</link>
	<description>Software &#124; Fitness &#124; Gaming</description>
	<lastBuildDate>Wed, 03 Sep 2008 03:48:45 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://jessewarden.com/wp-content/uploads/2016/08/cropped-Lambda2-32x32.png</url>
	<title>Tutorial &#8211; Software, Fitness, and Gaming &#8211; Jesse Warden</title>
	<link>https://jessewarden.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Being Independent &#038; Making Money Using Flex: My 360Flex Speech</title>
		<link>https://jessewarden.com/2008/07/being-independent-making-money-using-flex-my-360flex-speech.html</link>
					<comments>https://jessewarden.com/2008/07/being-independent-making-money-using-flex-my-360flex-speech.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Fri, 18 Jul 2008 17:08:26 +0000</pubDate>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Branding]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=1281</guid>

					<description><![CDATA[&#8230;now with 200% more &#8220;typically&#8221;! I was originally scheduled to speak about Making Bling with Flex at the 360Flex conference here in Atlanta. I then got the flu, learned I needed to have an organ removed at the emergency room, and missed the entire conference. Doug &#38; Juan filled in for me. Days later after [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>&#8230;now with 200% more &#8220;typically&#8221;!</p>
<p>I was originally scheduled to speak about <a href="http://jessewarden.com/2008/02/speaking-at-360flex-making-bling-with-flex.html">Making Bling with Flex</a> at the <a href="http://www.360conferences.com/360flex/">360Flex conference</a> here in Atlanta.  I then got the flu, learned I needed to have an organ removed at the emergency room, and missed the entire conference. Doug &amp; Juan <a href="http://dougmccune.com/blog/2008/03/01/my-360flex-writeup/">filled in</a> for me.  Days later after the surgery, upon regaining some semblance of consciousness, I received &#8220;get well&#8221; cards signed by the Flex community from the conference (thanks for mailing, <a href="http://leifwells.com/">Leif</a>!).</p>
<p><span id="more-1281"></span></p>
<p>I was so bummed about missing the conference; I always get to meet new people and some I&#8217;ve known for years online, just never met in person.  So, those cards sure made me feel a ton better.  Yall seriously are awesome!</p>
<p><a href="http://jessewarden.com/wp-content/uploads/2008/07/whosawesome.jpg"><img fetchpriority="high" decoding="async" class="aligncenter size-full wp-image-1282" title="Who\'s Awesome?  You\'re Awesome!" src="http://jessewarden.com/wp-content/uploads/2008/07/whosawesome.jpg" alt="The Flex Community is Awesome" width="400" height="351" /></a></p>
<p>2 weeks later, I started getting emails from people, specifically over seas, asking for transcripts.  First was a bloke from South Africa, then Spain, and on and on.  I felt really bad telling people that I didn&#8217;t actually get to do my speech, and my slides were meant as talking points for me, not for distribution.  So mad in fact that I couldn&#8217;t change the past, I was determined to mold the future.</p>
<p>At the time, I worked for a dope internet video company called <a href="http://multicastmedia.com/">Multicast Media Technologies</a>.  They have a video studio that they use for a lot of custom live broadcasts, so I sweet talked my way into using it for 3 hours.  The result of that recording session is now online for you to view at your leisure, WHEREVER in the world you are.</p>
<p><a href="http://jessewarden.com/archives/blingflex/"><img decoding="async" class="alignnone size-full wp-image-1284" title="blingflex_click_to_play" src="http://jessewarden.com/wp-content/uploads/2008/07/blingflex_click_to_play.gif" alt="" width="400" height="400" /></a></p>
<p>Some erratta &amp; Citations:</p>
<ul>
<li>I am now back in the consulting game, doing independent consulting &amp; contracting, as well as working with <a href="http://esria.com/">ESRIA</a>.</li>
<li>Regarding not pursuing legal action, I&#8217;ve heard some contractors who have had good luck (in a bad luck situation) utilizing signed contracts combined with their lawyer to good effect in getting paid.  If you&#8217;re lawyer truly thinks you can recoup money owed, you can afford him/her, and you feel it&#8217;ll end quickly, go for it.  Regardless, an ounce of prevention is worth 10 billion pounds of cure: if you get a bad vibe from a client, find another one.</li>
<li>Aral Balkan&#8217;s <a href="http://www.singularity08.com/">Online Conference &#8211; Singularity</a></li>
<li><a href="http://dougmccune.com/blog/">Doug McCune</a></li>
<li>Juan Sanchez, aka, <a href="http://scalenine.com/">Scale Nine</a></li>
<li><a href="http://gskinner.com/blog/">Grant Skinner</a></li>
<li>Regarding CPA&#8217;s, they can help you identify what you&#8217;re expenses are.  Meaning, things you purchase towards your business that you are not taxed on, or are taxed less on.  Laws vary by state, country, etc.</li>
<li>Calculating your contractor rate is usually based off a huge number of criteria; I&#8217;ve GREATLY simplified it for this presentation.  You can search on Google and find a bunch of great blog entries by anal retentive people who make these insanely long lists identifying your expenses; your costs, things you need to pay for.  Excel helps here.  You can identify how much money you need to make to afford your standard of living, and add additional expenses and profit desires from there.  Sometimes, how much you make is driven by the client and their budgets.  You need to factor this in too.</li>
<li>Talking about your rate with others to get a general idea of what the market and certain client jobs can bear is fine.  However, if you are bidding on a project, it&#8217;s illegal to talk to your competition about what you are planning to charge (federal law in the USA; consult a lawyer for facts).</li>
<li>Adjusting your rate may be out of your hands.  Sometimes your rates are dictated by the client or the firm you are working through, and there is no negotiation allowed.</li>
<li>&#8220;The W2 Talk&#8221; &#8211; when an employer gets yelled at by their boss or CPA about your high rates, and does their best to bring you on as W2 (fulltime salary) instead of 1099 (contractor hourly).  This usually occurs after a project is completed.</li>
<li>If you ever get frustrated with clients negotiating price, go back to your expenses sheet (you DID save this, right?) and look at all the bills and expenses you have.  That usually reminds me I CAN&#8217;T negotiate price, hehe.</li>
<li>Remember, fix bid projects that have a high amount of money still have risk, but may be attainable.  Sometimes, you just REALLY want to work for that particular client.  Maybe they have a frikin&#8217; awesome project, you just really like the client a lot, or the project would be great marketing for you once complete.  If you clearly identify things you can gurentee can be on-time and on-budget, and then clearly point out the things that are risky and thus flexible, a lot of clients are cool with that.  They can potentially compensate you for those risky areas with more money than is allocated to the budget.  I&#8217;ve never done this hybrid approach recommended to me by John Howard @ Multicast Media, but I&#8217;ve ALWAYS seen clients say they have &#8220;X budget&#8221; and then a few thousand dollars magically appears later when they need more.</li>
<li>Original <a href="http://jessewarden.com/2006/10/personal-branding-checklist.html">Personal Branding Checklist</a></li>
<li><a href="http://www.linkedin.com/in/motivationaltrainer">David Samuel</a>, the gent who taught me about <a href="http://www.personalbrandingpower.com/">Personal Branding</a>.</li>
<li><a href="http://blog.digitalbackcountry.com/">Ryan Stewart</a> &#8211; Care Bear Stare of the <a href="http://adobe.com/products/flex/">Flex</a> Community<a href="http://blog.digitalbackcountry.com/"><br />
</a></li>
<li>Personal Branding #5: An online presence massively improves your <a href="http://www.amazon.com/Ambient-Findability-What-Changes-Become/dp/0596007655">findability</a>; potential clients can find you when they have work for someone with your talents.</li>
<li><a href="http://en.wikipedia.org/wiki/Aphex_Twin">Aphex Twin</a></li>
<li><a href="http://animation.nectarine.com.au/">Nectarine</a></li>
<li>A practical use of an &#8220;alias&#8221; is a shortened, 1 word version of your name.  Useful for IM accounts, email, and user names for online services.</li>
<li><a href="http://www.adobe.com/products/acrobatconnect/">Acrobat Connect</a> &#8211; online webcasting<a href="http://www.adobe.com/products/acrobatconnect/"><br />
</a></li>
<li><a href="http://www.slideshare.net/">Slideshare</a> &#8211; web ready slideshows</li>
<li>Passion can be contagious</li>
<li><a href="http://30onair.com/">30onair.com</a> for &#8220;Why Flex?&#8221;.  <a href="http://www.30onair.com/videos/uv9ecx88xW4/">Best</a> Why Flex video ever.</li>
<li>User Experience, or &#8220;UX&#8221; is more in demand than I let on; more in demand than Flex &amp; Flash Developers.  There are firms that specialize specifically in User Experience (design, user persona&#8217;s, etc.).  Places like <a href="http://www.enablus.com/">Enablus</a> and others employ Flex Developers.  Working with UX people is SOOO much nicer than not because they ensure the application functionality makes sense, usually have valid research proven UI models work (this is NOT a replacement for user testing however), and create good designs.  If you are into UX, you SHOULD be making tons of bling right now.  If you are into Flex, seek these people out; they are fun to work with and more demanding of quality.  A lot of existing Enterprise to mid-size software shops already have existing back-end talent, but not a lot of front end, client side specialists.  They look to Flex Developers, wrongly so, to help with both facets of providing a good Flex GUI and a good user experience.</li>
<li>Good looking consumer facing Flex: <a href="http://scrapblog.com/">Scrapblog</a>, <a href="https://buzzword.acrobat.com/">Buzzword</a></li>
<li>Keep in mind for the bigger jobs, you cannot start the work without a signed contract.  More incentive to get a lawyer to write one for you, get the client and you to mutually agree to the terms, and have peace of mind once you start.</li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2008/07/being-independent-making-money-using-flex-my-360flex-speech.html/feed</wfw:commentRss>
			<slash:comments>16</slash:comments>
		
		
			</item>
		<item>
		<title>Example for Flex Component Kit for Flash CS3</title>
		<link>https://jessewarden.com/2007/04/example-for-flex-component-kit-for-flash-cs3.html</link>
					<comments>https://jessewarden.com/2007/04/example-for-flex-component-kit-for-flash-cs3.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Tue, 24 Apr 2007 06:26:51 +0000</pubDate>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=1152</guid>

					<description><![CDATA[If you saw the amount of work you have to do in my past article, you&#8217;ll appreciate how much work you DON&#8217;T have to do using the new Flex Component Kit for Flash CS3 (now on labs with 50% more beta!). I&#8217;ve modified my example from that article using the new kit to show you [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you saw the amount of work you have to do in <a href="http://www.jessewarden.com/archives/2006/12/integrating_a_f.html">my past article</a>, you&#8217;ll appreciate how much work you DON&#8217;T have to do using the new <a href="http://labs.adobe.com/wiki/index.php/Flex_Component_Kit_for_Flash_CS3">Flex Component Kit for Flash CS3</a> (now on labs with 50% more beta!).  I&#8217;ve modified my example from that article using the new kit to show you how much easier it is to both create <a href="http://www.adobe.com/products/flash/">Flash</a> assets for <a href="http://www.adobe.com/products/flex/">Flex</a>, but also to use them IN Flex 2.  Deadline at work, so too little time to do another <a href="http://www.adobe.com/products/captivate/">Captivate</a>; hopefully images&#8217;ll do.</p>
<p>First, let&#8217;s take a look at the FLA in CS3 on my MacBook.  Notice, nothing on the root timeline / stage.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_01.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_01_thumb.jpg"></img></a></p>
<p>Going into the BackgroundPanel symbol in the library, notice no code on frames.  You can see the bottom layer is where I put my bounding box.  This is a convention used since Flash 5 (before my time, hehe) which gives the MovieClip a &#8220;default width and height&#8221;.  Now, for Flash components, this was typically used for the size methods written in ActionScript.  In Flex, it does a whole lot more.  Flex has a layout engine that measures MovieClip&#8217;s, and that way &#8220;knows&#8221; when to show scrollbars.  By default UIMovieClip measures every frame so if your Flash animation increases in size, so too will your content in Flex.  When you are playing inside of containers inside of Flex, this is VERY important.  Here, though, I actually WANT to remain square.  Therefore, I make a 800 x 600 MovieClip with an instance name of &#8220;boundingBox&#8221;.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_01b.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_01b_thumb.jpg"></img></a></p>
<p>Now, the contract you have to abide by as a Flash Designer when creating assets for Flex is 2 things: states and transitions.  You create different &#8220;states&#8221; that your component / animation exists in.  In my panel&#8217;s case, these are: hidden, intro, main, and spin.  Flash Developers typically would use either the timeline or different redraw methods.  A Flex Developer uses the state tags.  These 2 will now be combined.  The Flash component will &#8220;represent&#8221; the state tags in Flex via frame labels on the MovieClip symbol&#8217;s timeline.  This way, a Flex Developer can use the familiar syntax on your component:</p>
<p>panel.currentState = &#8220;spin&#8221;;</p>
<p>The second is transitions.  Transitions are the changes that happen form one state to the next.  For example, in my <a href="http://www.jessewarden.com/archives/2007/01/flex_2_states_t.html">Login Form example</a>, I show how you can change from one state to the other and give visual feedback to the user you&#8217;ve changed state.  You represent transitions in Flash via specifically named frame labels.</p>
<p>For good or ill, transitions are (at least with the version I have) all or nothing.  Most Flash Designers who are timeline junkies will read that and laugh.  That&#8217;s the attitude.  I&#8217;ve found the component acts weird if you only define transitions for some states, and not others.  Best to do at least the default transition to each state.</p>
<p>One quirky thing is that the UIMovieClip will go to your state frame label when it&#8217;s done playing the transition, if any.  I didn&#8217;t really like this.  The compromise Adobe came up with is to put your state frame label on the same frame as your ending transition frame label.  Now, most of us Flash Purists think putting 2 frame labels on the same frame is blasphemy&#8230; madness!</p>
<p>&#8230;however, it actually works out well here (thanks Glenn Ruehle!).  It makes it easier for as an animator to have my ending transition &#8220;end&#8221; on the state.  However, for more complex animations, like the one <a href="http://www.gskinner.com/blog/">Grant Skinner</a> showed at <a href="http://www.360Flex.com">360Flex</a>, it actually behooves you to animate unique transitions for each state change.</p>
<p>For example, if I were animating a human character, he could have 3 states: stand, run, and sit.  If I were to set the current state from sit to run, I wouldn&#8217;t want him to immediately start running; I&#8217;d have to animate him to stand first.  For non-animators, this can seem like a lot of work.  For those of us in the know, it&#8217;s necessary for a good looking component.</p>
<p>So, again, you may find another frame label timeline convention you dig; no worries.</p>
<p>The syntax for states are &#8220;my state&#8221;; basically whatever you want.  The syntax for transitions is a little more complex.  It follows the way transitions in Flex work.  They have a &#8220;fromState&#8221; property and a &#8220;toState&#8221; property.  Transitions are always bound to a state change.  You can choose a state name as a string OR a *.  A * means &#8220;any state&#8221;.  So, if you write fromState=&#8221;*&#8221; toState=&#8221;spin&#8221;, that means anytime the state changes to spin, play this transition.</p>
<p>Frame labels in Flash use a &#8220;from-to:state&#8221; syntax.  Dissecting this, the from is your from state, and can be the name of the state, OR *.  Same goes for the to; the to state name or a *.  The state is the name of the state, and must be a state name.  Always put a start and end set of transition frame labels.  If you misspell the frame label, currently there is no JSFL to help you out, and the Flex Dev will most likely get an error dialogue that isn&#8217;t easily debug-able.  He&#8217;ll probably blame you so just make sure for every &#8220;start&#8221; you see an &#8220;end&#8221;.  Keep in mind too that for some transitions, it&#8217;ll use the end frame to play them backwards depending on what state you are changing too, so animate accordingly.</p>
<p>You&#8217;ll notice for my simple example, I&#8217;ve been slack and just put the state frame labels at the end of the transition animations.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_02.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_02_thumb.jpg"></img></a></p>
<p>For example, if the Flex Developer were to use this component, and set the currentState = &#8220;intro&#8221;, then it would do a gotoAndPlay for the &#8220;*-intro:start&#8221; frame.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_03.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_03_thumb.jpg"></img></a></p>
<p>Same goes for the spin, regardless of what state you were on previously:</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_04.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_04_thumb.jpg"></img></a></p>
<p>Notice that the main state doesn&#8217;t really have any transition; it&#8217;s just the main state where you mainly are, and thus it is plain Jane, reflective a main type of state.  Word.  Yes, it does have an event sound, though.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_05.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_05_thumb.jpg"></img></a></p>
<p>Now, when creating this component, you do what you typically do in Flash.  Create a new MovieClip symbol, name it, and hit ok.  You&#8217;ll notice the Linkage dialogue in Flash CS3 has a new field: All Your Base Class are Belong to Adobe.  When you create a MovieClip in Flash CS3, it&#8217;ll default to flash.display.MovieClip.  Good, leave it be, let it create your symbol.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_06.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_06.jpg"></img></a></p>
<p>Later, you can run the Flex Kit JSFL command, and it&#8217;ll put the needed SWC in the Library, and then convert your symbol for you to have the correct base class (mx.flash.UIMovieClip); all you have to do is select it in the Library.  It&#8217;ll tweak your FLA settings (in a good way) too.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_07.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_07.jpg"></img></a></p>
<p>Poof; it&#8217;s exported as an SWC where your SWF usually is.  Done!</p>
<p>Few more quirks.  Flex states are based around the Flash Player 9 DisplayList model.  DisplayObjectContainers are basically MovieClip like things.  Except, instead of createEmptyMovie, attachMovie, duplicateMovieClip, unloadMovie, and removeMovieClip, we have a brand new API.  This API allows us to create MovieClips, but NOT have them draw.  In the past, we&#8217;d stop it&#8217;s animations, turn it invisible, move it off stage, and pray.  This didn&#8217;t work so well with a ton of MovieClips.  Now, we can just go:</p>
<p>var a:MovieClip = new MovieClip();</p>
<p>And call methods on it, but not actually have it automatically have to be drawn in some depth.  Now, we go:</p>
<p>addChild(a);</p>
<p>And THEN it&#8217;ll draw.  Cool, right?  You can even re-parent it, and remove it without killing all the code on it.  Dope.</p>
<p>Problem?  Flex states are built atop this.  When you go to a state, things are removed from the DisplayList and others are added.  What happens to those that are removed?  Flash Player does what it was built to do; it removes them from memory as needed.</p>
<p>Great for application developers, suck for designers.  From the day I got into this industry, I&#8217;ve made it my mission to ensure my stuff plays hot, and if it means taking all of your CPU and RAM to do so, so be it; it&#8217;s there for the taking Blackbeard style.</p>
<p>The hack I showed at 360Flex has been modified slightly.  Basically, I&#8217;d put all of the frames on a MovieClip, since those have to be preloaded before drawn, and then put it before the animation.  Now, I&#8217;ve found better results doing the same thing, but having it last he entire tween.  Notice the spin and intro preloader layers in the above pictures below the animations.  You can see what&#8217;s inside of those MovieClips here.  Technically, you should just put them all on one frame, but I ran out of time.  I then just made them alpha 0.  If you move the off-stage, the measuring code will think your Flash component got really really big, and then you&#8217;ll see scrollbars in Flex, and go wtf?</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_08.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_08_thumb.jpg"></img></a></p>
<p>So, what do you do with your SWC?  You give to the Flex Dev, and smoke &#8217;em if ya got &#8217;em.  The Flex Dev then, if he&#8217;s a purist, he&#8217;ll throws it in a lib directory.  For this example, I just throw it in the root project.  You then link it to your Flex Project via adding it to the Flex Build path as a Library via Project > Properties, and then Flex Build Path, Library Path tab, and then Add SWC button.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_09.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_09.jpg"></img></a></p>
<p>You&#8217;ll notice a sample implementation here with Buttons setting the current state of the panel.  Notice the lack of strong-typing; I&#8217;m such a rebel (-es=true -as3=false -strict=false 4 uber h@X!!!).</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_10.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_10_thumb.jpg"></img></a></p>
<p>Now, I think I broke something, but the convention is &#8220;boundingBox&#8221;&#8230; or it&#8217;s ilk.  You name your MovieClip that, and that&#8217;ll define your component&#8217;s rect.  In MXML (or AS if you were so inclined) you can set the bounding box instance name to use.  I don&#8217;t recommend this, but hey, freedom&#8217;s rad, choose what you want.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_11.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_11.jpg"></img></a></p>
<p>This&#8217;ll compile to something like this.  If you&#8217;d like to play, click the image.  <b>WARNING</b>: Has sound &#8211; she&#8217;s loud.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_12_thumb.jpg"></img></a></p>
<p>To give you a visual example of what this would look like in Flex (uber simplified btw), here&#8217;s the states defined in MXML instead.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_13a.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_13a.jpg"></img></a></p>
<p>And the corresponding (optional) transitions that match those states.</p>
<p><a href="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_13b.jpg"><img decoding="async" src="http://www.jessewarden.com/archives/flexkitforflashcs3/flash_13b.jpg"></img></a></p>
<p>Some dig MXML, some dig Timelines, I dig both.</p>
<p>Few final tips.  Every time you recompile a new SWC (Test Movie / Publish, whateva&#8217;), don&#8217;t forget to Refresh the Flex Project, or you&#8217;ll get the cached version.  I usually use an Ant script to just copy the new .SWC from the assets directory (or however you setup your Flex projects).  Also, not sure if it&#8217;s fixed, but if you&#8217;re Flex Dev starts getting code hints for &#8220;frame31():Object&#8221;, don&#8217;t be alarmed.  If you put code on the timeline, I&#8217;m the only guy I know that fires people for that (except stops of course&#8230; I&#8217;m not THAT mean).  These methods are merely created from code you have on that specific frame (thanks Robert Penner!).</p>
<p>One thing to notice in some of the above images of Flash&#8217;s timeline is the Flex friendly layer vs. the Flash friendly.  You un-guide the Flex friendly one for development and testing.  That way, Flex Builder doesn&#8217;t chug loading all of those uncompressed PNG&#8217;s into memory, thus making Flex Builder compiling really slow.  When ready, you just un-guide the Flash friendly one, and re-guide the Flex friendly one, and finally recompile.  Naturally, most people are using video nowadays or hand animated bitmaps &#038; vectors which are immensely less RAM intensive.  Then again, good to know.</p>
<p>Also, this whole example didn&#8217;t use any ActionScript.  There is no reason I couldn&#8217;t make an ActionScript 3 class for my component.  If you don&#8217;t write a class, Flash CS3 will make one for you.  So, I didn&#8217;t have to make a &#8220;BackgroundPanel2.as&#8221; file.  If I wanted to, I could of written an AS3 class to maybe play some other scripted animations, or play sounds&#8230; video, whatever.</p>
<p>Finally, don&#8217;t forget to remind the Flex Dev to up his framerate via the Application tag (or compiler&#8230; either or)!</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2007/04/example-for-flex-component-kit-for-flash-cs3.html/feed</wfw:commentRss>
			<slash:comments>18</slash:comments>
		
		
			</item>
		<item>
		<title>Getting a Photoshop Design into Flex 2</title>
		<link>https://jessewarden.com/2006/12/getting-a-photoshop-design-into-flex-2.html</link>
					<comments>https://jessewarden.com/2006/12/getting-a-photoshop-design-into-flex-2.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Thu, 07 Dec 2006 17:20:50 +0000</pubDate>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Fireworks]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=1097</guid>

					<description><![CDATA[Raw, unrehearsed, and barely edited. Hopefully useful. This video tutorial will show you how to get a Photoshop CS2 design into Flex 2. I show taking the design from Photoshop to Fireworks, and then importing it into Flex. I aditionally cover using those assets in states &#38; transitions in Flex Builder 2. Ben, a commenter, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a href="http://jessewarden.com/archives/flex/photoshop_fireworks_flex/"><img decoding="async" src="http://www.jessewarden.com/archives/flex/photoshop_fireworks_flex/psd_fw_fl_header.gif" alt="Photoshop Fireworks Flex" style="padding-right: 4px" align="left" height="32" width="184" /></a><br />
Raw, unrehearsed, and barely edited.  Hopefully useful.  This video tutorial will show you how to get a <a href="http://www.adobe.com/products/photoshop/">Photoshop</a> CS2 design into <a href="http://www.adobe.com/products/flex/">Flex</a> 2.  I show taking the design from Photoshop to <a href="http://www.adobe.com/products/fireworks/">Fireworks</a>, and then importing it into Flex.  I aditionally cover using those assets in states &amp; transitions in Flex Builder 2.  Ben, a <a href="http://www.jessewarden.com/archives/2006/12/skinning_in_bev.html#comments">commenter</a>, asked for a tutorial on this subject.</p>
<p>This is not the only way to do this.</p>
<p>I&#8217;ve had a designer export all PNG&#8217;s for me from Photoshop.</p>
<p>I&#8217;ve had a designer export all graphics as GIF&#8217;s with per-screen printouts to tape inside of my cube for visual reference.</p>
<p>I&#8217;ve had a designer give me a PSD with no fonts.  When I got the fonts, they were the Mac fonts, not the PC fonts.</p>
<p>So, I&#8217;ve had a full gamut of situations on how this went down.  Typically, most designers do not know, or just don&#8217;t care to export PNG&#8217;s out of Photoshop.  GIF&#8217;s are sometimes ok .  Thus, these are the measures us Flash &amp; budding Flex developers have to go through to get the design into our world.  I&#8217;m not saying it&#8217;s the right way, but without a designer capable of exporting PNG&#8217;s, we have no choice.</p>
<p>Maybe if every designer capable of doing this wasn&#8217;t always busy when I asked them to do contract work, I wouldn&#8217;t be posting this.  Unfortunately, there is still a shortage of talent, or that talent in house doesn&#8217;t get effectively communicated to, and it&#8217;s just faster to do this yourself.</p>
<p>I&#8217;ll be speaking about this as well as <a href="http://www.adobe.com/products/flash/">Flash</a> integration at the <a href="http://360flex.org/">360Flex Conference</a> March 5-7, 2007 at Ebay in San Jose, California, USA. [pending topic approval]</p>
<p>Anyway, I say &#8220;denote&#8221; at least 7 times.  Also, apologies for Flex Builder&#8217;s non-real-time typing.  Eclipse is stealing the key presses from Captivate.  It catches up when I click though, so just wait patiently, and you&#8217;ll see the code.</p>
<p>If you are a Designer, you can safely stop on &#8220;Contents Layout&#8221;, the 9th section.  If you are curious to see how to animate &amp; implement image assets in Flex, feel free to watch the whole thing.  I covered states &amp; transitions by accident.  All 30 sections counted, the whole tutorial is about 58 minutes.  Took about 7 hours to create &amp; edit since it was improv.  Uploaded all 150 megs of it all of last night.  BTW, I had to update my <a href="http://www.jessewarden.com/archives/2004/11/captivateplayer.html">CaptivatePlayer</a> to work with <a href="http://www.adobe.com/products/captivate/">Captivate</a> 2 skin SWF&#8217;s, so any problems viewing, just let me know and I&#8217;ll just link to the files directly.</p>
<p>Hope it helps!</p>
<p><a href="http://jessewarden.com/archives/flex/photoshop_fireworks_flex/">Getting a Photoshop Design into Flex 2</a> &#8211; A Video Tutorial using Photoshop CS2, Fireworks 8, and Flex Builder 2.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2006/12/getting-a-photoshop-design-into-flex-2.html/feed</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Flash v2 Framework: Bit Off More Than I Can Chew</title>
		<link>https://jessewarden.com/2005/03/flash-v2-framework-bit-off-more-than-i-can-chew.html</link>
					<comments>https://jessewarden.com/2005/03/flash-v2-framework-bit-off-more-than-i-can-chew.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Fri, 25 Mar 2005 22:33:30 +0000</pubDate>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=765</guid>

					<description><![CDATA[I had an idea I&#8217;d do Captivate tutorials on every class in the Flash MX 2004 framework. I had gotten a lot of praise for my past component tutorials, and many people have emailed me constantly to do more. &#8230;the problem is, there are a LOT of classes in there, each with their own intracacies. [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I had an idea I&#8217;d do Captivate tutorials on every class in the Flash MX 2004 framework.  I had gotten a lot of praise for my past component tutorials, and many people have emailed me constantly to do more.</p>
<p>&#8230;the problem is, there are a LOT of classes in there, each with their own intracacies.  Describing each would take a book of documentation (which Flash MX 2004 now has).  Not to mention the fact, I&#8217;ll have to do it again in Januray of 2006 for the 8ball framework (assuming there is one) since I figure if one does in fact come out later this year, that&#8217;ll be how long I need to feel confident in my ability to describe it to others effectively.</p>
<p>However, a quick run-down, verbally spoken with some of the functions shown while spoken too, helps me understand what is going on under the covers.  When I read the classes to learn them, say mx.managers.DepthManager for instance, I&#8217;ll read some of the properties and functions aloud to myself to garner a better understanding of what it&#8217;s doing, and how it plays with the rest of the framework.</p>
<p>In practice, this UIObject tutorial is taking way to long to complete.  I did these last Sunday night, and just now realized I&#8217;m not even 25% of the way done with the class.  I guess I&#8217;m really trying to guage what people want to know about the framework, without sacrificing important details.</p>
<p>For example, I think a complete rundown of the entire framework is needed, not just certain classes.  I know that&#8217;s a little non-pragmatic, but the framework has a lot of tightly, inter-woven functionality, and it&#8217;s important to understand those connections to get the most out of the framework AND to keep yourself out of trouble when using it.</p>
<p>So, doing Captivate tutorials for each class will not work, I don&#8217;t have the time to do them all.  I&#8217;m not opposed to a Podcast, but I really think the lack of visually showing the class will sacrifice a lot the understanding and retention.</p>
<p>Maybe talking about each class in 2 minutes or less?  Curious what the community thinks is best.</p>
<p><a href="http://dev.jessewarden.com/captivate/uiobject/">Example of Overkill for mx.core.UIObject</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2005/03/flash-v2-framework-bit-off-more-than-i-can-chew.html/feed</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title>Firefox Tip: Middle Mouse Click Opens Link in New Tab</title>
		<link>https://jessewarden.com/2005/03/firefox-tip-middle-mouse-click-opens-link-in-new-tab.html</link>
					<comments>https://jessewarden.com/2005/03/firefox-tip-middle-mouse-click-opens-link-in-new-tab.html#comments</comments>
		
		<dc:creator><![CDATA[JesterXL]]></dc:creator>
		<pubDate>Thu, 17 Mar 2005 06:10:32 +0000</pubDate>
				<category><![CDATA[Tutorial]]></category>
		<guid isPermaLink="false">http://jessewarden.com/?p=756</guid>

					<description><![CDATA[As the title states, if you click on a link using middle-mouse click, Firefox will open it in a new tab. This is awesome for Google searches as you can open the first 10 results in tabs, and proceed to the next 10. Once you have 20 open, you can Control + W, and start [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>As the title states, if you click on a link using middle-mouse click, Firefox will open it in a new tab.  This is awesome for Google searches as you can open the first 10 results in tabs, and proceed to the next 10.  Once you have 20 open, you can Control + W, and start reading your results to your search.</p>
<p>Also works good for Blog Aggregators, like Fullasagoog.com for instance.  You can pick entries you wish to read, and then when your done picking, go through each tab.</p>
<p>Quicker than Right Click + Open in New Tab.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://jessewarden.com/2005/03/firefox-tip-middle-mouse-click-opens-link-in-new-tab.html/feed</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
	</channel>
</rss>
