<?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>JavaScript Workshop &#187; Adobe Flash</title>
	<atom:link href="http://www.javascriptworkshop.com/category/adobe-flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.javascriptworkshop.com</link>
	<description>Helping others learn JavaScript and web development in general.</description>
	<lastBuildDate>Tue, 06 Sep 2011 11:10:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>XML with ActionScript 3.0 Examples</title>
		<link>http://www.javascriptworkshop.com/2008/12/29/integrating-xml-with-actionscript-30/</link>
		<comments>http://www.javascriptworkshop.com/2008/12/29/integrating-xml-with-actionscript-30/#comments</comments>
		<pubDate>Tue, 30 Dec 2008 03:15:06 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[Image Slide Show]]></category>
		<category><![CDATA[Music Juke Box]]></category>
		<category><![CDATA[News Reader]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/?p=243</guid>
		<description><![CDATA[On a previous post I talked about the basics of XML so I thought I&#8217;d show some examples of how to incorporate XML with Flash. Since XML is primarily used to store and transfer data, it makes for a nice flexible way to store data that Flash applications can use. Since it&#8217;s external to your [...]]]></description>
			<content:encoded><![CDATA[<p>On a <a href="http://www.javascriptworkshop.com/2007/09/09/xml-basics-video-tutorials/">previous post</a> I talked about the basics of XML so I thought I&#8217;d show some examples of how to incorporate XML with Flash.</p>
<p>Since XML is primarily used to store and transfer data, it makes for a nice flexible way to store data that Flash applications can use. Since it&#8217;s external to your SWF file, it can be easily updated.  So whether your Flash application pulls in data for a <strong>News Reader</strong> or a <strong>Slide Show</strong> or <strong>Music Juke Box</strong>, any change will be dynamic and ready to go.</p>
<p>These examples use ActionScript 3.0, which allows for easier manipulation of XML data compared to previous versions of AS.  I broke up the three examples into three parts so you can see the evolution of each example and can follow it better with a gradual change in the AS code (saved as Flash CS3).</p>
<p><span id="more-243"></span></p>
<p><strong>News Reader</strong></p>
<p>In this Flash example (like the other two as well), I show you how to pull information into Flash and parse the information needed into an text field, dynamically loop through the XML file, and add HTML and CSS styling to the text field.</p>
<p>Here is the <a class="externalLink" href= "http://www.javascriptworkshop.com/PHPWebHost/FlashXML/NewsReader/NewsReader-part3.html">finished version</a> and the <a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/FlashXML_NewsReader.zip">source files</a> (.zip).</p>
<p><strong>Slide Show</strong></p>
<p>There are so many Flash slide shows on the web and most use an XML file to store the image properties (url, title, description, etc) of each. This way updating is separate from the re-publishing the FLA and anyone can do it.</p>
<p>This application not only uses the <a class="externalLink" href = "http://help.adobe.com/en_US/AS3LCR/Flash_10.0/XMLList.html">XMLList</a> object, but the <a class = "externalLink" href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/fl/containers/UILoader.html"> UILoader</a>  component and the <a class="externalLink" href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/utils/Timer.html">Timer</a> class (rotate image every 3 seconds). </p>
<p><strong>note:</strong> You could create a custom loader for the loading of the images by either using the Progress Bar component or creating your own.</p>
<p>In AS 3.0, a <u>simple pre-loader</u> would look something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">loaderInfo.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>ProgressEvent.<span style="color: #006600;">PROGRESS</span>, onProgress<span style="color: #66cc66;">&#41;</span>;
loaderInfo.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">COMPLETE</span>, onComplete<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onProgress<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:ProgressEvent<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> <span style="color: #0066CC;">loaded</span>:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">bytesLoaded</span>;
     <span style="color: #000000; font-weight: bold;">var</span> total:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span>.<span style="color: #0066CC;">bytesTotal</span>;
     <span style="color: #000000; font-weight: bold;">var</span> pct:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">loaded</span><span style="color: #66cc66;">/</span>total;
     loader_mc.<span style="color: #006600;">scaleX</span> = pct;
     loaded_txt.<span style="color: #0066CC;">text</span> = <span style="color: #ff0000;">&quot;Loading... &quot;</span>; 
     loaded_txt += <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span>pct <span style="color: #66cc66;">*</span> <span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot;%&quot;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onComplete<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<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;">// show something</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Here is the <a class="externalLink" href= "http://www.javascriptworkshop.com/PHPWebHost/FlashXML/SlideShow/SlideShow-part3.html">finished version</a> and the <a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/FlashXML_SlidesShow.zip">source files</a> (.zip).</p>
<p><strong>Music Juke Box</strong></p>
<p>Finally another use of XML would be to create a song Juke Box to play different MP3 files. This project uses previous techniques of the first two projects plus the <a class="externalLink" href = "http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/media/Sound.html">Sound</a> and <a class="externalLink" href = "http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/media/SoundChannel.html">SoundChannel</a> class. </p>
<p>This project focuses a little more on programming since how to load and parse and XML file have been already covered in the first two projects so it’s a nice finishing project on how to create a simple Flash application.</p>
<p>Here is the <a class="externalLink" href= "http://www.javascriptworkshop.com/PHPWebHost/FlashXML/JukeBox/JukeBox-part3.html">finished version</a> and the <a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/FlashXML_JukeBox.zip">source files</a> (.zip).</p>
<p><strong>note:</strong> If you want a more robust example of a Music Juke Box (pause, volume slider, etc), then take a look at this <a class = "externalLink" href="http://www.javascriptworkshop.com/PHPWebHost/FlashXML/AdvancedJukeBox/AdvancedJukebox.html">example</a> and <a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/FlashXML_AdvancedJukeBox.zip">source code</a> (.zip) created by Craig Campbell.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2008/12/29/integrating-xml-with-actionscript-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Features in Flash CS4</title>
		<link>http://www.javascriptworkshop.com/2008/12/18/new-features-in-flash-cs4/</link>
		<comments>http://www.javascriptworkshop.com/2008/12/18/new-features-in-flash-cs4/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 18:48:39 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[animation effects]]></category>
		<category><![CDATA[Flash CS4]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/?p=242</guid>
		<description><![CDATA[With the recent release of Flash CS4, I&#8217;d thought I&#8217;d cover some of the highlights of the new features. Interface The user interface has been overhauled to match all of the adobe creative suite tools. It may take some users a little while to get used to it, but it seems to be for the [...]]]></description>
			<content:encoded><![CDATA[<p>With the recent release of Flash CS4, I&#8217;d thought I&#8217;d cover some of the highlights of the new features. </p>
<p><strong>Interface</strong><br />
The <a class="externalLink" href = "http://www.javascriptworkshop.com/flashCS4-interface.jpg"> user interface</a> has been overhauled to match all of the adobe creative suite tools. It may take some users a little while to get used to it, but it seems to be for the better. </p>
<p><strong>Tweening Engine</strong><br />
The timeline&#8217;s tweening engine now supports object-based animation with motion tweening. What this means is that you do not have to create a new keyframe, modify your symbol then create the motion tween (&#8220;Create Classic Tween&#8221;). </p>
<p>All you have to do now is create your symbol and then add a motion tween to that object. The containing layer becomes a &#8220;tween layer&#8221; which has a unique layer icon and ending keyframe (diamond). The motion tween includes a motion guide giving you full control of the animation itself (even with the free transform tool).</p>
<p><strong>Motion Editor</strong><br />
The Motion Editor gives you a graph of all the properties of your object (symbol).  This allows for a great overview of your animation properties (rotation, easing, etc) and allows for fine-tune control. A neat feature is the added options of Easing for each of the animation properties.<br />
<span id="more-242"></span><br />
<strong>Motion Preset</strong><br />
You can save any of your animations as a &#8220;Motion Preset&#8221; and can use many of the predefined Default Preset animations on any object (can be used like a library of animations).</p>
<p><strong>3D Support</strong><br />
3D support is now available and allows animators to create cool 3D effects with two new tools in the toolbox: 3D Rotation Tool and 3D Translation Tool. The 3D Translation Tool allows moving an object (symbol) in the x, y and z axis. </p>
<p><strong>Bones &#8211; kinematics</strong><br />
The new &#8220;Bones&#8221; feature is a new tool in the toolbox (Bone) that allows you to create animated objects that behave like a skeleton.  So you can have many symbols that together follow the same &#8220;bone structure&#8221;.  A neat use for this would also be applying a bone structure to a solid shape which would give it a cool shape tween effect. This would be almost impossible to do in previous versions of Flash.</p>
<p><strong>Adobe Media Encoder</strong><br />
Adobe changed the name of the Flash Video Encoder to Adobe media Encoder because it is capable of encoding a lot of different types of files. You can still import video files like you normally did in Flash (Import -> Import Video) and go through that wizard to convert it to FLV/F4V formats. </p>
<p>The encoder gives you options for the type of codec, bitrate, frame rate, batch encoding, etc. Check oout this <a class = "externalLink" href="http://www.javascriptworkshop.com/PHPWebHost/CS4_Flash_Video/index.html">video</a> to learn more.</p>
<p><strong>Project Panel</strong><br />
The new Project Panel (acquired from <a class="externalLink" href = "http://www.gskinner.com/products/gProject/about.php">gskinner.com</a>) allows developers to easily create new .fla and .as (class) files.  Class files can now have fully customizable starter code created for them as well. </p>
<div id="update">
Check out this <a class="externalLink" href="http://www.javascriptworkshop.com/PHPWebHost/CS4_Flash_New_Features/index.html">video</a> showing many of the new features of Flash CS4 and the official <a class="externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/flash_cs4_help.pdf#page=9">Flash CS4 documentation</a> (.pdf) from Adobe.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2008/12/18/new-features-in-flash-cs4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript 3.0: Events</title>
		<link>http://www.javascriptworkshop.com/2008/02/28/actionscript-30-events/</link>
		<comments>http://www.javascriptworkshop.com/2008/02/28/actionscript-30-events/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 01:00:23 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/2008/02/28/actionscript-30-events/</guid>
		<description><![CDATA[Events are things that happen that Flash can recognize and respond to. A mouse click is an event, as are mouse movements and keypresses on the keyboard. Events can also be things that the user doesn&#8217;t initiate. The completion of a sound, for example, is an event. Anytime an event happens, an object of the [...]]]></description>
			<content:encoded><![CDATA[<p>Events are things that happen that Flash can recognize and respond to.  A mouse click is an event, as are mouse movements and keypresses on the keyboard.  Events can also be things that the user doesn&#8217;t initiate.  The completion of a sound, for example, is an event.  </p>
<p>Anytime an event happens, an object of the Event class is created.  When the mouse button is clicked, a MouseEvent object (a subclass of the Event class) is created.  When a key on the keyboard is pressed, a KeyboardEvent object (another subclass of the Event class) is created.  It may seem a little strange that an object represents an event, but remember Flash objects can be very abstract.</p>
<p>With all these events happening, you need a way to detect and respond to them.  You detect an event by creating an event listener (or event handler).</p>
<p><span id="more-194"></span></p>
<p>An event listener is a simply a function that tells Flash what to do when a specific kind of event happens.  Creating an event listener is a two-part operation: first you create a function, and second, you tell Flash where to put the listener.</p>
<p>For example, if you want to listen for a mouse click, you create a function with a parameter strictly typed to the MouseEvent object like so:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> reportClick <span style="color: #66cc66;">&#40;</span>myevent:MoseEvent<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;">// do something in response</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>The word myevent is the parameter name that you make up that refers to the event.  Next, you decide where you want to listen for the mouse click.  If you want to listen for a mouse click on top of a particular button, then you add an event listener to that object:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">myButton_btn.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, reportClick<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>The addEventListener() method takes two parameters.  The first is the specific kind of event that you want to detect.  All the event objects have properties (like MouseClick.CLICK), which give more specificity to the event.  The second parameter is the name of your function.</p>
<p>The actual object that receives the event can be referenced in the function by using the property target.  In the example, the expression myevent.target references myButton_btn.</p>
<p>When you no longer need to listen for an event, you can delete the listener with the method removeEventListener().  The method takes two parameters, which are identical to the ones in the addEventListener() method.</p>
<p><strong>Event Flow &#8211; Under the Hood</strong></p>
<p>Event handling is a little more involved that what was just described above.</p>
<p>When an event occurs an Eventobject is created, the Event object systematically moves through other objects on the Flash Stage in a process known as the event flow.  There are three parts to the event flow: a capture phase, a target phase, and a bubbling phase.  Imagine that a mouse click happens on a button that is inside a movie clip on the Stage.</p>
<p>The MouseEvent object is created and is dispatched from the Stage and flows down to the movie clip and to the button inside the movie clip.  That downward flow through those objects is the capture phase.  The target phase involves the time the MouseEvent object is at the target (the button). Then it proceeds to bubble, or flow up the hierarchy, to the main Stage.  </p>
<p>This round-trip flow is important because it lets you put a listener at any point along its path and still detect the event.  In other words, the listener doesn&#8217;t have to be tied to the object where the event occurs.</p>
<p>However,  many events don&#8217;t proceed through all three phases of the event flow.  Some events, such as the Event.ENTER_FRAME object, are dispatched directly to the Stage and don&#8217;t participate in a capture or bubbling phase.</p>
<p>This <a class = "externalLink" href = "http://www.adobe.com/devnet/actionscript/articles/event_handling_as3.html">online article</a> by Trevor McCauley on AS 3.0 event handling should give you a lot more information.</p>
<p><strong>Video References</strong> (.zip)</p>
<p><a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Events_pt1.zip">Events Overview</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Events_pt2.zip">Listeners</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Events_pt3.zip">Handlers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2008/02/28/actionscript-30-events/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ActionScript 3.0: Display List</title>
		<link>http://www.javascriptworkshop.com/2008/02/16/actionscript-30-display-list/</link>
		<comments>http://www.javascriptworkshop.com/2008/02/16/actionscript-30-display-list/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 23:30:37 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/2008/02/16/actionscript-30-display-list/</guid>
		<description><![CDATA[The key to successful manipulating graphics on the Stage is to understand what is known as the display list. The display list is the hierarchy of visible objects on the Stage. The display list lets Flash keep track of what the user sees, the visual relationships between objects, and the stacking order (or overlapping) of [...]]]></description>
			<content:encoded><![CDATA[<p>The key to successful manipulating graphics on the Stage is to understand what is known as the display list.  The display list is the hierarchy of visible objects on the Stage.  The display list lets Flash keep track of what the user sees, the visual relationships between objects, and the stacking order (or overlapping) of the objects.</p>
<p>Conceptually, it&#8217;s much like the folder structure on your computer desktop, and can be represented as a tree structure.  The top-level element is the Stage.  Each time you play a Flash movie in a Web browser, the Flash Player opens your SWF and places it on the Stage. So the Stage is the container that holds your main SWF.</p>
<p><span id="more-195"></span></p>
<p>Inside your main SWF you can place other elements, such as buttons, text, video, bitmaps and other objects &#8212; all of which are part of a big class known as DisplayObject.  </p>
<p>You can also have elements on your main SWF that contain DisplayObject objects.  These are known as DisplayObjectContainer objects, and include objects like a Sprite object, a Loader object, a MovieClip object, and the Stage itself.  So you can think of the main SWF on the Stage as your desktop, the DisplayObjects as individual files, and the DisplayObjectContainers as folders that can contain additional folders or files.</p>
<p>One of the most important methods of the DisplayObjectContainer class is called addChild()  This method adds an element (either another DisplayObjectContainer or DisplayObject) to the display list and makes it visible.  As you add more DisplayObjects and DisplayObjectContainers to your display list, you need to keep track of how they overlap.  Flash keeps track of each object with a number, known as an index, that begins at 0 and increases in whole numbers. </p>
<p>The Adobe <a class = "externalLink" href = "http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3/">online article</a> on Display list programming should give you lots of more information to help you understand this new ActionScript 3.0 architecture.  </p>
<p>View this <a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Display_list.zip">video</a> (.zip) for an overview of how the Display List object works.</p>
<p>Watch these videos (zip) for more details and examples:</p>
<p><a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Add_Child.zip">Using the addChild method</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Remove_Child.zip">Using the removeChild method</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Child_Index.zip">Referencing a Display Object by index number</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Child_Name.zip">Referencing a Display Object by name</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Different_Timelines.zip">Controlling Display Objects in different timelines</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Different_Movies.zip">Controlling Display Objects in different movies</a><br />
<a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Changing_Parents.zip">Using addChild to change parents<br />
</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2008/02/16/actionscript-30-display-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s New in ActionScript 3.0?</title>
		<link>http://www.javascriptworkshop.com/2007/11/14/whats-new-in-actionscript-30/</link>
		<comments>http://www.javascriptworkshop.com/2007/11/14/whats-new-in-actionscript-30/#comments</comments>
		<pubDate>Wed, 14 Nov 2007 15:07:39 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Classes and Training]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/?p=193</guid>
		<description><![CDATA[Like any language, ActionScript evolves over time. ActionScript 3.0 is simply the latest version of the Flash programming language that lets you control graphics, animation, sound, and interactivity. However, ActionScript 3.0 represents a significant change (some may say revolutionary) from the previous versions because in many ways it is conceptually and architecturally different. Key differences [...]]]></description>
			<content:encoded><![CDATA[<p>Like any language, ActionScript evolves over time.  ActionScript 3.0 is simply the latest version of the Flash programming language that lets you control graphics, animation, sound, and interactivity.  However, ActionScript 3.0 represents a significant change (some may say revolutionary) from the previous versions because in many ways it is conceptually and architecturally different.  </p>
<p>Key differences from ActionScript 2.0 include:</p>
<p><span id="more-193"></span></p>
<p><strong>1.</strong>  New ways of handling data that result in a much faster playback performance in Flash Player 9.</p>
<p><strong>2.</strong>  A new model for detecting and responding to events (like a mouse click or a keyboard input).</p>
<p><strong>3.</strong>  A display list, which manages the dynamic display of all kinds of graphics on the Stage.</p>
<p><strong>4.</strong>  Low-level object control, so ActionScript can now control virtually every kind of Flash element.</p>
<p><strong>5.</strong>  Less dependence on the movie clip symbol as the main actor in advanced Flash projects.  </p>
<p><strong>6.</strong>  ActionScript 3.0 now provides different different objects that are more specific to that task rather than rely on the movie clip for a wide variety of purposes.</p>
<p><strong>7.</strong> Changes in the actual language, so users familiar with the previous versions of ActionScript will have to relearn commands (like <strong>getURL</strong> is now <strong>navigateToURL</strong>, properties like <strong>_x</strong> changed to simply <strong>x</strong>).</p>
<p>Though dramatic, the changes in ActonScript 3.0 provide a clear advantage in performance and overall sophistication that advanced object-oriented programmers and developers of rich Internet applications will appreciate.  But newcomers to ActionScript should begin study with the basic building blocks &#8211; objects and classes.  </p>
<p>This may be more of a challenge to designers who have no programming background at all since it requires a little more thinking on how to do even the simplest of tasks such as applying actions to buttons or movie clips with the new event model.</p>
<p><strong>Documentation and References</strong></p>
<p>Adobe has an excellent <a class = "externalLink" href = "http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/index.html?migration.html&#038;all-classes.html">online document</a> comparing the differences between ActionScript 2.0 and 3.0 as well as an <a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/prog_actionscript30.pdf">AS 3.0 manual</a> (.pdf) covering most of AS 3.0 for Flex or Flash.  that will be of help.  There is also a nice <a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/as3cs_migration.pdf">ActionScript 3.0 Migration CheatSheet</a> (.pdf) that you can use, created by Sean Moore that should come in handy too.</p>
<p>For a quick overview of AS 3.0, checkout this <a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/AC3_Review.zip">video</a> (.zip).</p>
<p><a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/ActionScript_3_Basics.pdf">ActionScript 3.0 Language Basics</a></p>
<p><a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/ActionScript_3_Custom_Classes.pdf">Custom Classes</a></p>
<p><a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/ActionScript_3_Display_List.pdf">Display List</a></p>
<p><a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/ActionScript_3_Text.pdf">Working with Text</a></p>
<p><a class = "externalLink" href = "http://www.javascriptworkshop.com/wp-content/uploads/pdf/ActionScript_3_Programmatic_Animation.pdf">Programmatic Animation</a><br />
<br/><br />
<strong>Examples</strong></p>
<p><br/></p>
<div id="update">
Feel free to look over my <a href="http://www.javascriptworkshop.com/2007/05/01/my-intro-to-actionscript-class/">Flash AS 3.0 examples</a> that I use for my Intro to AS 3.0 class I teach at a local community college</div>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2007/11/14/whats-new-in-actionscript-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Intro to ActionScript Class</title>
		<link>http://www.javascriptworkshop.com/2007/05/01/my-intro-to-actionscript-class/</link>
		<comments>http://www.javascriptworkshop.com/2007/05/01/my-intro-to-actionscript-class/#comments</comments>
		<pubDate>Tue, 01 May 2007 15:32:32 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS 3.0]]></category>
		<category><![CDATA[Class]]></category>
		<category><![CDATA[Classes and Training]]></category>
		<category><![CDATA[Flash CS3]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/?p=123</guid>
		<description><![CDATA[As I am cursed with no artistic talent whatsoever, I am amazed at what people can do with Flash. From simple animated banners to truly beautiful interactive web sites. I do not use Flash on a regular basis, but am knowledgeable of the scripting language ActionScript and what it can do for Flash. As an [...]]]></description>
			<content:encoded><![CDATA[<p>As I am cursed with no artistic talent whatsoever, I am amazed at what people can do with Flash.  From simple animated banners to truly beautiful interactive web sites. I do not use Flash on a regular basis, but am knowledgeable of the scripting language ActionScript and what it can do for Flash. </p>
<p>As an adjunct faculty for a local <a class = "externalLink" href = "http://www.mc3.edu/">community college</a>, I ocassionally teach weekend classes on Flash. One of the classes I teach is on the basics of ActionScript.</p>
<p><span id="more-123"></span></p>
<div id="update"><strong>Updated December 2008</strong><br />
There are no significant changes to ActionScript 3.0 with the recent release of Flash CS4, so no changes have been made to my class examples.</div>
<div id="update"><strong>Updated November 2007</strong><br />
With the release of Flash CS3, I updated my examples I use in the class to ActionScript 3.0.  The <a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/CIS-185_CS3.zip">source code</a> (.zip) is available for you to download.</div>
<p>ActionScript is based on <a class = "externalLink" href = "http://en.wikipedia.org/wiki/ECMAScript">ECMAScript</a> (which JavaScript is based on) and entered the scene in Flash version 5 and now has developed into a fully fledged programming language with true OOP support.  </p>
<p>The topics covered in this class are an overview of the core language, using it within button and movieclip symbols, importing external text files, basic animation techniqes, creating  preloaders and an introduction to components. </p>
<p>Here is an updated <a class="externalLink" href="http://www.javascriptworkshop.com/wp-content/uploads/pdf/CIS185-Syllabus.pdf">syllabus</a> (.pdf) for the class to give more detail on the topics covered as well as the <a href = "http://www.javascriptworkshop.com/wp-content/uploads/zip/CIS-185.zip">example files</a> (.zip). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2007/05/01/my-intro-to-actionscript-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LearnFlash.com Video Podcasts</title>
		<link>http://www.javascriptworkshop.com/2007/01/27/learnflashcom-video-podcasts/</link>
		<comments>http://www.javascriptworkshop.com/2007/01/27/learnflashcom-video-podcasts/#comments</comments>
		<pubDate>Sat, 27 Jan 2007 12:14:25 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Video tutorials]]></category>
		<category><![CDATA[Classes and Training]]></category>
		<category><![CDATA[Learning]]></category>
		<category><![CDATA[video tutorials]]></category>

		<guid isPermaLink="false">http://www.javascriptworkshop.com/?p=126</guid>
		<description><![CDATA[Learning Flash by watching videos is a very efficient way to learn specific techniques without going through books or online tutorials. As I mentioned in a previous post about online learning, there are many website that offer video tutorials on different web technologies including Flash. LearnFlash.com is one of them and they offer one of [...]]]></description>
			<content:encoded><![CDATA[<p>Learning Flash by watching videos is a very efficient way to learn specific techniques without going through books or online tutorials. As I mentioned in a <a href = "http://www.javascriptworkshop.com/2006/02/18/online-learning/">previous post</a> about online learning, there are many website that offer video tutorials on different web technologies including Flash. </p>
<p><a class = "externalLink" href = "http://www.learnflash.com">LearnFlash.com</a> is one of them and they offer one of the largest selections of Flash video tutorials.<br />
<span id="more-126"></span></p>
<p>What they also have is a monthly video podcast which highlights some tips and tricks from their vast library of Flash videos. Here are some of the videos (.zip) that I have collected that would be of use to the beginner Flash user. </p>
<p>These videos can be used with any version of Flash, but are presented in either <strong>Flash MX2004</strong> or <strong>Flash 8</strong>.</p>
<p><a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_textanim_video.zip">Text Animations using Motion Tweens</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_symbols_video.zip">Movie Clip vs. Graphic Symbol</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_mcbutton_video.zip">Use a Movie Clip as a Button</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_button_actions_video.zip">Applying ActionScript to a Button</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_javascript_video.zip">JavaScript Popup Windows</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_slideshow_video.zip">Creating a Simple Photo Slideshow</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_rotation_anim_video.zip">Animated Rotation with Tweens and ActionScript</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_tweenclass_video.zip">Using the Tween Class to Create Animations</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_loop_movieclip.zip">Looping MovieClip via ActionScript</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_scroll_text.zip">Scroll Text using Components</a><br />
<a href="http://www.javascriptworkshop.com/wp-content/uploads/zip/flash_mask_preloader.zip">Image Mask PreLoader</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2007/01/27/learnflashcom-video-podcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Embedding and Detection</title>
		<link>http://www.javascriptworkshop.com/2006/04/30/flash-embedding-and-detection/</link>
		<comments>http://www.javascriptworkshop.com/2006/04/30/flash-embedding-and-detection/#comments</comments>
		<pubDate>Sun, 30 Apr 2006 09:38:48 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[JavaScript topics]]></category>
		<category><![CDATA[Embedding Flash]]></category>

		<guid isPermaLink="false">http://wordpress.stepanskiconsulting.com/?p=32</guid>
		<description><![CDATA[Earlier this month, Microsoft announced a security update to Internet Explorer that changes the way it handles web pages that contain ActiveX controls. This would affect any control (Flash, video plug-in, etc.) that uses the APPLET, EMBED, or OBJECT tags. Basically the control&#8217;s user interface is blocked until the user activates it by clicking on [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this month, Microsoft announced a <a class="externalLink" href="http://www.microsoft.com/technet/security/advisory/912945.mspx">security update</a> to Internet Explorer that changes the way it handles web pages that contain ActiveX controls. This would affect any control (Flash, video plug-in, etc.) that uses the APPLET, EMBED, or OBJECT tags. Basically the control&#8217;s user interface is blocked until the user activates it by clicking on it or hitting the space bar when it has focus.</p>
<p><span id="more-32"></span></p>
<div id="update"><strong>Updated March 2008</strong><br />
<a target="_blank" href = "http://code.google.com/p/swfobject/">SWFObject 2.0</a> was recently just released.</div>
<div id="update"><strong>Updated October 2007</strong><br />
Another useful JavaScript library for Flash is <a class = "externalLink" href = "http://www.asual.com/swfaddress/">SWFAddress</a> which sits on top of <a class = "externalLink" href = "http://blog.deconcept.com/swfobject/">SWFObject</a> that allows Flash movies to use the browser back button by creating unique URLs with page titles that you specify in your ActionScript code.</div>
<div id="update"><strong>Updated August 2007</strong><br />
A new JavaScript library called <a class = "externalLink" href = "http://www.robertnyman.com/2007/04/19/flashreplace-a-light-weight-javascript-to-insert-flash-movies-into-your-web-page/">FlashReplace</a> has recently come on the scene to embed Flash written by Robert Nyman.</div>
<div id="update"><strong>Updated October 2006</strong><br />
Adobe updated their <a class = "externalLink" href = "http://www.adobe.com/devnet/activecontent/articles/devletter.html">Active Content Article</a> using a code script contained in <strong>AC_RunActiveContent.js</strong> for embedding Flash and Shockwave in IE.  Here is the <a href = " http://www.javascriptworkshop.com/wp-content/uploads/zip/activecontent_samples.zip">code sample</a> (.zip) that is included. This script is also included in the <a class = "externalLink" href = "http://www.adobe.com/support/dreamweaver/downloads_updaters.html#dw8">Dreamweaver 8.0.2 update</a> and in Dreamweaver CS3. So via the Insert menu to embed Flash media the code is automatically generated.</div>
<p>Workarounds are available from both <a class = "externalLink" href="http://msdn2.microsoft.com/en-us/library/ms537508.aspx">Microsoft</a> and <a class="externalLink" href="http://www.adobe.com/devnet/activecontent/articles/devletter.html">Adobe</a> which use JavaScript to dynamically write these tags to embed the control. These work to a certain degree, but the most complete solution by far is a JavaScript library created by Geoff Stearns called <a class="externalLink" href="http://blog.deconcept.com/swfobject/">SWFObject</a> which detects and embeds Flash content on a web page.</p>
<p>Done separately, you would detect for the version of Flash player using Adobe&#8217;s <a class="externalLink" href="http://www.adobe.com/products/flashplayer/download/detection_kit/">Flash Player Detection Kit</a> and then use the embedding workaround provided by either company.</p>
<p>Also, you can checkout an alternative JavaScript library by Bobby van der Sluis called <a class = "externalLink" href = "http://www.bobbyvandersluis.com/ufo/">UFO</a>.  He also wrote on A List Apart a very detailed <a class="externalLink" href="http://www.alistapart.com/articles/flashembedcagematch">article</a> on the issues of flash embedding.  Great stuff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2006/04/30/flash-embedding-and-detection/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publishing Video with Flash</title>
		<link>http://www.javascriptworkshop.com/2005/11/26/publishing-video-with-flash/</link>
		<comments>http://www.javascriptworkshop.com/2005/11/26/publishing-video-with-flash/#comments</comments>
		<pubDate>Sat, 26 Nov 2005 09:15:03 +0000</pubDate>
		<dc:creator>Frank Stepanski</dc:creator>
				<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Flash CS3]]></category>
		<category><![CDATA[Flash Video]]></category>
		<category><![CDATA[JavaScript topics]]></category>

		<guid isPermaLink="false">http://wordpress.stepanskiconsulting.com/?p=18</guid>
		<description><![CDATA[One of the cool new features of Adobe Flash 8 Professional is the Import Video Wizard. Flash converts your original video files (.avi, .mov, .mpeg) to a flash video file (.flv) that is compressed, progressively downloaded, cached, and then played from your flash movie. Updated December 2008 With the release of Flash CS4, Adobe gave [...]]]></description>
			<content:encoded><![CDATA[<p>One of the cool new features of Adobe Flash 8 Professional is the Import Video Wizard. Flash converts your original video files (.avi, .mov, .mpeg) to a flash video file (.flv) that is compressed, progressively downloaded, cached, and then played from your flash movie.</p>
<p><span id="more-18"></span></p>
<div id="update"><strong>Updated December 2008</strong><br />
With the release of Flash CS4, Adobe gave us a new flash encoder (Abobe Media Encoder). Check out this <a class = "externalLink" href="http://www.javascriptworkshop.com/PHPWebHost/CS4_Flash_Video/index.html">instructional video</a> to see the differences.</div>
<div id="update"><strong>Updated August 2007</strong><br />
With the release of Flash CS3, video encoding has changed a little to make it even easier. Check out this <a class = "externalLink" href="http://www.javascriptworkshop.com/PHPWebHost/CS3_Flash_Video/index.html">instructional video</a> to see the differences.</div>
<p>The Import Video Wizard steps through the process of selecting your video file, specifying the compression, and choosing which playback control to use. It takes only minutes with no ActionScript code to write.</p>
<p>To publish your flash video, you include your video file (.flv), movie file (.swf) and the FLVPlayback component file (.swf) as well. Almost any web hosting plan will play these flash video files, so there is no extra cost (unlike streaming video). Adobe has a great <a class="externalLink" href="http://www.adobe.com/devnet/flash/articles/video_guide.html">article</a> on Flash video, as well as this <a class="externalLink" href="/wp-content/uploads/pdf/Working_with_video.pdf">article</a> (.pdf) written by Sas Jacobs explains the whole process step-by-step.  For a little more technical explanation try this <a class = "externalLink" href = "http://www.digital-web.com/articles/the_rise_of_flash_video_part_3/"> article</a> too by Tom Green on Digital Web Magazine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.javascriptworkshop.com/2005/11/26/publishing-video-with-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

