<?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>Davey&#039;s Webtech Blog &#187; AS3</title>
	<atom:link href="http://blog.geminilearning.com/category/as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.geminilearning.com</link>
	<description>David Jumeau&#039;s take on Web-related technologies, the Flash Platform, E-learning, and other cool stuff</description>
	<lastBuildDate>Fri, 27 Jan 2012 13:16:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Away3D Cookbook Review</title>
		<link>http://blog.geminilearning.com/2011/08/11/away3d-cookbook-review/</link>
		<comments>http://blog.geminilearning.com/2011/08/11/away3d-cookbook-review/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 11:20:33 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Away3D]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=606</guid>
		<description><![CDATA[I had the opportunity to get a sneak peak of Michael Ivanov&#8217;s book on Away3D 3.6 Cookbook graciously provided to me from Packt publishing. So I thought I would have a go at it to give a sneak peak on what&#8217;s covered. Just a heads up, it is recommended to first go through the basics [...]]]></description>
			<content:encoded><![CDATA[<p><img  src="http://www.packtpub.com/sites/default/files/imagecache/productview/2800OS_Away3D 3.6 Cookbook_9781849512800cov.jpg" alt="Away3D 3.6 Cookbook" title="Away3D 3.6 Cookbook"  width="125" height="152" /> I had the opportunity to get a sneak peak of Michael Ivanov&#8217;s book on <a href="http://www.packtpub.com/away3d-36-cookbook/book" target="_blank">Away3D 3.6 Cookbook</a> graciously provided to me from <a href="http://www.packtpub.com/" target="_blank">Packt publishing</a>. So I thought I would have a go at it to give a sneak peak on what&#8217;s covered.</p>
<p>Just a heads up, it is recommended to first go through the basics of using Away3D. A good introduction would be Packt&#8217;s <a href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank">Essential Away3D 3.6</a>. Flash magazine&#8217;s <a href="http://www.flashmagazine.com/Tutorials/detail/away3d_basics_a_simple_away3d_class_explained/" target="_blank">tutorial series on Away3D</a> is another good reference online to get things started.</p>
<p>Michael goes through several techniques in Away3D development. What is great about his recipes are that he addresses topics that you are not likely to see from basic courses, but the cool stuff, or the things that might be potentially requested by a client. It is a great reference to pick things up right away.</p>
<p>Some of the interesting things that are covered in this book:</p>
<ul>
<li>Away3D materials to view video on demand (VOD) streaming, and usage of the Pixel Bender toolkit.</li>
<li>3D interactivity</li>
<li>Special effects (using the Camera, bitmap manipulation)</li>
<li>Solutions to depth-sorting, and optimization</li>
<li>Tips in using software to improve your workflow (Prefab3D, and importing/loading 3D assets of major 3D software tools [3DsMax, Maya, Blender])</li>
<li>Away3D Lite development. This optimized version quadruples the performance compared to the standard engine (with the trade-off of a limited feature set, but ideal for simple projects)</li>
</ul>
<p>There is much more. But I also like to mention about the appendix on FlashPlayer 11 and the Stage3D API (aka Molehill). Adobe labs just released the beta of <a href="http://labs.adobe.com/technologies/flashplatformruntimes/air3/" target="_blank">Air 3</a> and for <a href="http://labs.adobe.com/technologies/flashplatformruntimes/flashplayer11/" target="_blank">FlashPlayer 11</a>. This would be a good opportunity to test it out.</p>
<p>Now, the question is that should I wait for the next Flash player to come out before tinkering with Away3D? I asked Richard Olsson, the co-developer on the Away3D team at the Flash and the City conference last June and he says that there would be no problem to migrate over to Away3D 4 once you grasp the concepts of 3D development with Away 3D 3.6. So it is a good time to start learning 3D development.</p>
<p>I hope this review was useful. These are exciting times in Flash development, particularly in the area of 3D.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2011/08/11/away3d-cookbook-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Custom AS3 Events &#8211; Personal Notes</title>
		<link>http://blog.geminilearning.com/2010/10/20/custom-as3-events-personal-notes/</link>
		<comments>http://blog.geminilearning.com/2010/10/20/custom-as3-events-personal-notes/#comments</comments>
		<pubDate>Wed, 20 Oct 2010 14:03:46 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=538</guid>
		<description><![CDATA[Every time when I consider using custom events I have to scour the web for it. So I am writing my personal notes for it. Here is a good link about forming your custom event: http://www.charglerode.com/blog/?p=51 Robert Penner also posts his observations on event handling from the Flash community. One important aspect is the requirement [...]]]></description>
			<content:encoded><![CDATA[<p>Every time when I consider using custom events I have to scour the web for it. So I am writing my personal notes for it.</p>
<p>Here is a good link about forming your custom event:</p>
<p><a href="http://www.charglerode.com/blog/?p=51" target="_blank">http://www.charglerode.com/blog/?p=51</a></p>
<p><a href="http://flashblog.robertpenner.com/2009/09/as3-events-7-things-ive-learned-from.html" target="_blank">Robert Penner</a> also posts his observations on event handling from the Flash community. </p>
<p>One important aspect is the requirement of overriding the clone method (via <a href="http://www.bit-101.com/blog/?s=custom+events+clone" target="_blank">Keith Peters</a>.) Ben Clinkinbeard quotes on Robert&#8217;s post : &#8220;clone() is only called if an event is manually re-dispatched by passing it to dispatchEvent() again. So if a parent catches it and then does dispatchEvent( childEvent ), clone() will be used and required. Bubbling alone does not call clone(), but overriding it is good practice.&#8221;</p>
<p>My observation is that I have been getting errors in Flash Builder regarding to the order of parameters. So by adding new arguments after all the default arguments would give me errors. This was resolved when I added my new arguments after the &#8220;type&#8221; argument. So here is a code snippet.</p>
<div class="codecolorer-container actionscript3 default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br /></div></td><td><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #9900cc; font-weight: bold;">package</span> myFilePathToEventClass<br />
<span style="color: #000000;">&#123;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #0033ff; font-weight: bold;">import</span> <span style="color: #004993;">flash.events</span><span style="color: #000066; font-weight: bold;">.</span><a href="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html"><span style="color: #004993;">Event</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; <br />
&nbsp; <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #9900cc; font-weight: bold;">class</span> MyCustomEvent <span style="color: #0033ff; font-weight: bold;">extends</span> <a href="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html"><span style="color: #004993;">Event</span></a><br />
&nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//Add Custom Event ids here</span><br />
&nbsp; &nbsp; static const SOMEEVENT<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> = <span style="color: #990000;">&quot;someEvent&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">//Add public properties here (whatever data type) ... will be available in the event handler</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">public</span> param1<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">public</span> param2<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html"><span style="color: #004993;">Object</span></a><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> MyCustomEvent<span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a><span style="color: #000066; font-weight: bold;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; param1<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a><span style="color: #000066; font-weight: bold;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; param2<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html"><span style="color: #004993;">Object</span></a><span style="color: #000066; font-weight: bold;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #004993;">bubbles</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=boolean%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:boolean.html"><span style="color: #004993;">Boolean</span></a> = <span style="color: #0033ff; font-weight: bold;">false</span><span style="color: #000066; font-weight: bold;">,</span> <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #004993;">cancelable</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=boolean%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:boolean.html"><span style="color: #004993;">Boolean</span></a> = <span style="color: #0033ff; font-weight: bold;">true</span> <span style="color: #000000;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">super</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">bubbles</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">cancelable</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>param1 = param1<span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">this</span><span style="color: #000066; font-weight: bold;">.</span>param2 = param2<span style="color: #000066; font-weight: bold;">;</span> &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; override <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #339966; font-weight: bold;">function</span> <span style="color: #004993;">clone</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=event%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:event.html"><span style="color: #004993;">Event</span></a> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #0033ff; font-weight: bold;">new</span> MyCustomEvent<span style="color: #000000;">&#40;</span><span style="color: #004993;">type</span><span style="color: #000066; font-weight: bold;">,</span> param1<span style="color: #000066; font-weight: bold;">,</span> param2<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">bubbles</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">cancelable</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; override <span style="color: #0033ff; font-weight: bold;">public</span> <span style="color: #004993;">toString</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=string%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:string.html"><span style="color: #004993;">String</span></a> <span style="color: #000000;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #0033ff; font-weight: bold;">return</span> <span style="color: #004993;">formatToString</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;MyCustomEvent&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;type&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;param1&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;param2&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;bubbles&quot;</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #990000;">&quot;cancelable&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
&nbsp; &nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; &nbsp; <br />
&nbsp; <span style="color: #000000;">&#125;</span><br />
&nbsp; <br />
<span style="color: #000000;">&#125;</span></div></td></tr></tbody></table></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2010/10/20/custom-as3-events-personal-notes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Oh Cool! The Help docs contain the Flex Hero reference</title>
		<link>http://blog.geminilearning.com/2010/09/03/oh-cool-the-help-docs-contain-the-flex-hero-reference/</link>
		<comments>http://blog.geminilearning.com/2010/09/03/oh-cool-the-help-docs-contain-the-flex-hero-reference/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 17:15:35 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash Builder (formerly Flex Builder)]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash Builder 4.1]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=462</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="Hero reference" src="http://blog.geminilearning.com/images/2010_09_03/2010_09_03_flex_hero_reference.jpg" alt="" width="514" height="112" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2010/09/03/oh-cool-the-help-docs-contain-the-flex-hero-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes on FreeSpin3D Tutorial on Adobe Edge (Dec 2009)</title>
		<link>http://blog.geminilearning.com/2009/12/11/notes-on-freespin3d-tutorial-on-adobe-edge-dec-2009/</link>
		<comments>http://blog.geminilearning.com/2009/12/11/notes-on-freespin3d-tutorial-on-adobe-edge-dec-2009/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 18:30:24 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[Adobe Products]]></category>
		<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=405</guid>
		<description><![CDATA[
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_3diphone_1560181588"
			class="flashmovie"
			width="230"
			height="230">
	<param name="movie" value="http://blog.geminilearning.com/swf/3diphone.swf" />
	<param name="play" value="true" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.geminilearning.com/swf/3diphone.swf"
			name="fm_3diphone_1560181588"
			width="230"
			height="230">
		<param name="play" value="true" />
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object> I had recently worked through a quick tutorial on FreeSpin3D on the Adobe Edge magazine December 2009 edition. I had noticed this software through an ad on Flex and Flash developer magazine and so I had decided to check out the demo. Of course, using [...]]]></description>
			<content:encoded><![CDATA[
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_3diphone_242345752"
			class="flashmovie"
			width="230"
			height="230">
	<param name="movie" value="http://blog.geminilearning.com/swf/3diphone.swf" />
	<param name="play" value="true" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.geminilearning.com/swf/3diphone.swf"
			name="fm_3diphone_242345752"
			width="230"
			height="230">
		<param name="play" value="true" />
	<!--<![endif]-->
		<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>I had recently worked through a quick tutorial on FreeSpin3D on the <a title="Adobe Edge 2009" href="http://www.adobe.com/newsletters/edge/december2009/" target="_blank">Adobe Edge magazine December 2009 </a>edition. I had noticed this software through an ad on <a href="http://www.ffdmag.com" target="_blank">Flex and Flash developer magazine</a> and so I had decided to check out the demo. Of course, using 3D in real-time to design your site is very cool and convenient. The 3D Phone above is simply applying a motion tween on the layer containing the 3D object and using the trackball to change the rotation about the y-axis.</p>
<p>Here are some of my notes during my tutorial experience:</p>
<p>1)    CPU resources take a hit during development and during rendering. Would it be preferable to be working off a workstation during the design? Regardless, even on the <a href="http://www.freespin3d.com/" target="_blank">freespin 3D website</a>, the rotating the IPod was chugging along. I wonder if it is an issue with my computer? (However, it is a year old and runs off a dual core Centrino, it should be responding well.)</p>
<p>2)    Behaviors:</p>
<ul>
<li>Mouse control doesn’t respond well</li>
</ul>
<ul>
<li>Adding behaviours can be finicky. In some cases, I could not delete the behaviors I worked with.</li>
</ul>
<p>3)    I would have liked to manually enter the x-y-z rotation values in text fields beside the trackball &#8211; feature request perhaps?</p>
<p>4)    It’s nice that they offer a 20% discount when you download the tutorial. This is fair for those who have really tried out the software.</p>
<p>Update: <a title="FreeSpin3D" href="http://www.flashmagazine.com/Reviews/detail/freespin3d_cs4_review" target="_blank">Flash Magazine.com</a> had an excellent review posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/12/11/notes-on-freespin3d-tutorial-on-adobe-edge-dec-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Countdown App with AMFPHP and Flash CS4</title>
		<link>http://blog.geminilearning.com/2009/07/21/a-countdown-app-with-amfphp-and-flash-cs4/</link>
		<comments>http://blog.geminilearning.com/2009/07/21/a-countdown-app-with-amfphp-and-flash-cs4/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 17:32:06 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=315</guid>
		<description><![CDATA[I made my first AMFPHP application with Flash CS4. (Inspired by Lee Brimelow&#8217;s AMFPHP tutorial.) It is basically a countdown timer by retrieving the current time from the server. (I made this in preparation for a conference at church, and figured that since we have visits from all over the world, getting the server time [...]]]></description>
			<content:encoded><![CDATA[<p>I made my first AMFPHP application with Flash CS4. (Inspired by <a href="http://www.gotoandlearn.com/play?id=78" target="_blank">Lee Brimelow&#8217;s AMFPHP tutorial</a>.) It is basically a countdown timer by retrieving the current time from the server. (I made this in preparation for a conference at church, and figured that since we have visits from all over the world, getting the server time via the server [which was in Eastern Time] was the best approach instead of getting the date and time via the Actionscript date class which is client side.)</p>
<p>I found a PHP script by Louai Munajim to retrieve the time left in days; hours; and minutes. And inserted it in the &#8220;amfphp/services&#8221; folder on my server.</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br />
<br />
<span style="color: #000000; font-weight: bold;">class</span> CountDown <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #009933; font-style: italic;">/**<br />
&nbsp; &nbsp; /* This service creates a countdown provided by parameters<br />
&nbsp; &nbsp; /* parameters: (year, month, day, hour, minute)<br />
&nbsp; &nbsp; /* @returns &quot;days;hours;minutes&quot;<br />
&nbsp; &nbsp; */</span><br />
<br />
&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">function</span> targetDate<span style="color: #009900;">&#40;</span><span style="color: #000088;">$year</span><span style="color: #339933;">,</span> <span style="color: #000088;">$month</span><span style="color: #339933;">,</span> <span style="color: #000088;">$day</span><span style="color: #339933;">,</span> <span style="color: #000088;">$hour</span><span style="color: #339933;">,</span> <span style="color: #000088;">$minute</span><span style="color: #009900;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//--------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// author: Louai Munajim</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// website: www.elouai.com</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Note:</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Unix timestamp limitations </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Date range is from </span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// the year 1970 to 2038</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//--------------------------</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// Modified by David Jumeau</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// make a unix timestamp for the given date</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$the_countdown_date</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/mktime"><span style="color: #990000;">mktime</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$hour</span><span style="color: #339933;">,</span> <span style="color: #000088;">$minute</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #000088;">$month</span><span style="color: #339933;">,</span> <span style="color: #000088;">$day</span><span style="color: #339933;">,</span> <span style="color: #000088;">$year</span><span style="color: #339933;">,</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// get current unix timestamp</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$today</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/time"><span style="color: #990000;">time</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$difference</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$the_countdown_date</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$today</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$difference</span> <span style="color: #339933;">&lt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #000088;">$difference</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$days_left</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$difference</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">24</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$hours_left</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$difference</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$days_left</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #000088;">$minutes_left</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/floor"><span style="color: #990000;">floor</span></a><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$difference</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$days_left</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">24</span> <span style="color: #339933;">-</span> <span style="color: #000088;">$hours_left</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">/</span><span style="color: #cc66cc;">60</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// OUTPUT</span><br />
&nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$days_left</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$hours_left</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;;&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$minutes_left</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
&nbsp; &nbsp; <br />
<span style="color: #009900;">&#125;</span><br />
<span style="color: #000000; font-weight: bold;">?&gt;</span></div></div>
<p>Then, in my .fla I placed a TextField on the stage with an instance name of: &#8220;countdown_txt&#8221;,  and inserted this code in Flash in the Actions panel:</p>
<div class="codecolorer-container actionscript3 default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript3 codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339966; font-weight: bold;">function</span> onResult<span style="color: #000000;">&#40;</span>response<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=object%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:object.html"><span style="color: #004993;">Object</span></a><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span><br />
<span style="color: #004993;">trace</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;response &amp;gt; &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> response<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #6699cc; font-weight: bold;">var</span> time_left_array<span style="color: #000066; font-weight: bold;">:</span><a href="http://www.google.com/search?q=array%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:array.html"><span style="color: #004993;">Array</span></a> = <span style="color: #000000;">&#91;</span><span style="color: #000000;">&#93;</span><span style="color: #000066; font-weight: bold;">;</span><br />
time_left_array = response<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">split</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;;&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
<span style="color: #0033ff; font-weight: bold;">if</span> <span style="color: #000000;">&#40;</span>time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#93;</span> == <span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#123;</span><br />
countdown_txt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = <span style="color: #990000;">&quot;Today!<span style="">\n</span>&quot;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#93;</span> == <span style="color: #990000;">&quot;0&quot;</span><span style="color: #000000;">&#41;</span> <span style="color: #000066; font-weight: bold;">?</span> <span style="color: #990000;">&quot;Right Now!<span style="">\n</span>&quot;</span> <span style="color: #000066; font-weight: bold;">:</span> <span style="color: #000000;">&#40;</span>time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#93;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot; hours<span style="">\n</span>&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span> <span style="color: #0033ff; font-weight: bold;">else</span> <span style="color: #000000;">&#123;</span><br />
countdown_txt<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">text</span> = time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">0</span><span style="color: #000000;">&#93;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot; Days : &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">1</span><span style="color: #000000;">&#93;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot; Hrs : &quot;</span> <span style="color: #000066; font-weight: bold;">+</span> time_left_array<span style="color: #000000;">&#91;</span><span style="color: #000000; font-weight:bold;">2</span><span style="color: #000000;">&#93;</span> <span style="color: #000066; font-weight: bold;">+</span> <span style="color: #990000;">&quot; Min&quot;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<span style="color: #000000;">&#125;</span><br />
<br />
<span style="color: #000000;">&#125;</span><br />
<br />
gw = <span style="color: #0033ff; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=netconnection%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:netconnection.html"><span style="color: #004993;">NetConnection</span></a><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
res = <span style="color: #0033ff; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=responder%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:responder.html"><span style="color: #004993;">Responder</span></a><span style="color: #000000;">&#40;</span>onResult<span style="color: #000066; font-weight: bold;">,</span> onFault<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
<br />
gw<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">connect</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;http://yourserver/amfphp/gateway.php&quot;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span><br />
gw<span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">call</span><span style="color: #000000;">&#40;</span><span style="color: #990000;">&quot;CountDown.targetDate&quot;</span><span style="color: #000066; font-weight: bold;">,</span> res<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">2009</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">10</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">4</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">10</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #000000; font-weight:bold;">0</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">// Oct 4 2009, 10 am, 0 minutes</span></div></div>
<p>Files:</p>
<ul>
<li><a href="http://blog.geminilearning.com/wp-content/uploads/2009/07/countdown_flash_cs4.zip">countdown_flash_cs4.zip</a></li>
<li><a href="http://blog.geminilearning.com/wp-content/uploads/2009/07/CountDown.zip">CountDown_php_file.zip</a></li>
</ul>
<p>The only issue that I had was that I was getting Flash Errors which prevented me from accessing the CountDown.php function. I found out that it was an internal server error (500) and found at the <a title="AMFPHP Internal server (500) - Remove .htaccess file" href="http://www.gotoandlearnforum.com/viewtopic.php?f=5&amp;t=19559&amp;start=0&amp;st=0&amp;sk=t&amp;sd=a" target="_blank">gotoandlearn</a> forums that the .htaccess file was hindering access to the PHP method in question. Once deleting this file in the &#8220;amfphp&#8221; directory, amfphp worked fine.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_countdown_1051363372"
			class="flashmovie"
			width="160"
			height="100">
	<param name="movie" value="http://www.geminilearning.com/swf/countdown.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.geminilearning.com/swf/countdown.swf"
			name="fm_countdown_1051363372"
			width="160"
			height="100">
	<!--<![endif]-->
		<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>DJ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/07/21/a-countdown-app-with-amfphp-and-flash-cs4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternate &#8220;Trace&#8221; Command in AS2 &amp; AS3</title>
		<link>http://blog.geminilearning.com/2009/07/21/alternate-trace-command-in-as2-as3/</link>
		<comments>http://blog.geminilearning.com/2009/07/21/alternate-trace-command-in-as2-as3/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 14:58:54 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=300</guid>
		<description><![CDATA[I had taken some video tutorials at Flash Extensions.com way back, and I always liked Robert Taylor&#8217;s appoach in using the trace command in Actionscript. I would represent this via the &#8220;tr&#8221; method in each of my classes so that when I am previewing the program, I can know in which class I can find [...]]]></description>
			<content:encoded><![CDATA[<p>I had taken some video tutorials at <a title="Robert Taylor's site" href="http://www.flashextensions.com" target="_blank">Flash Extensions.com</a> way back, and I always liked Robert Taylor&#8217;s appoach in using the trace command in Actionscript. I would represent this via  the &#8220;tr&#8221; method in each of my classes so that when I am previewing the program, I can know in which class I can find the origin of my trace statements. AS3 is not much different since you can use multiple arguments in your function parameters.</p>
<p>The <strong>AS2 </strong>version used an undocumented arguments array in the parameters of a function like this:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">// This method in a class called MyClass<br />
<br />
private function tr(arguments):Void {<br />
<br />
&nbsp; if (arguments.length == 0) {<br />
&nbsp; &nbsp; trace(&quot;&quot;);<br />
&nbsp; } else {<br />
&nbsp; &nbsp; trace(&quot;[MyClass] ... &quot; + arguments.join(&quot; : &quot;));<br />
&nbsp; }<br />
<br />
}</div></div>
<p>In <strong>AS3</strong>,</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">// This method in a class called MyClass<br />
<br />
private function tr(... args:Array):void {<br />
<br />
&nbsp; if (args.length == 0) {<br />
&nbsp; &nbsp; trace(&quot;&quot;);<br />
&nbsp; } else {<br />
&nbsp; &nbsp; trace(&quot;[MyClass] ... &quot; + args.join(&quot; : &quot;));<br />
&nbsp; }<br />
<br />
}</div></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/07/21/alternate-trace-command-in-as2-as3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Holy Collision Detection Batman!</title>
		<link>http://blog.geminilearning.com/2009/06/18/holy-cow-collision-detection-batman/</link>
		<comments>http://blog.geminilearning.com/2009/06/18/holy-cow-collision-detection-batman/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 22:32:01 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Actionscript library]]></category>
		<category><![CDATA[collision detection]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/2009/06/18/holy-cow-collision-detection-batman/</guid>
		<description><![CDATA[Casually checking out my Tweets and Peter Elst put this link up: http://www.coreyoneil.com/portfolio/index.php?project=5 It is very difficult to perform collision detection. Usually, sometimes you need some kind of mathematical algorithm to carry it out. But Corey managed to do it at a pixel level and even at on gradient / alpha thresholds. Very impressive indeed! [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-294" title="colbert_collision_detection" src="http://blog.geminilearning.com/wp-content/uploads/2009/06/colbert_collision_detection.png" alt="colbert_collision_detection" width="250" height="240" />Casually checking out my Tweets and Peter Elst put this link up: <a title="Actionscript 3 Collision Detection Library" href="http://www.coreyoneil.com/portfolio/index.php?project=5" target="_blank">http://www.coreyoneil.com/portfolio/index.php?project=5</a></p>
<p>It is very difficult to perform collision detection. Usually, sometimes you need some kind of mathematical algorithm to carry it out. But Corey managed to do it at a pixel level and even at on gradient / alpha thresholds. Very impressive indeed! It&#8217;s funny to see the Stephen Colbert video. Highly recommended blog reading!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/06/18/holy-cow-collision-detection-batman/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PureMVC notes from Tim Willison at FITC</title>
		<link>http://blog.geminilearning.com/2009/05/05/puremvc-notes-from-tim-willison-at-fitc/</link>
		<comments>http://blog.geminilearning.com/2009/05/05/puremvc-notes-from-tim-willison-at-fitc/#comments</comments>
		<pubDate>Tue, 05 May 2009 19:43:54 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=251</guid>
		<description><![CDATA[As FITC came and went at the end of April, the original developer for PureMVC Cliff Hall could not make it (sprained ankle), but Tim Willison covered for him. He posted some slides at his blog in regards to PureMVC development. He provides an example done in Flash. (I assume it to be in Flash [...]]]></description>
			<content:encoded><![CDATA[<p><!--[endif]--></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">As FITC came and went at the end of April, the original developer for PureMVC Cliff Hall could not make it (sprained ankle), but Tim Willison covered for him. He posted some slides at his blog in regards to PureMVC development. He provides an example done in Flash. (I assume it to be in Flash CS4. Most examples are done in Flex. So this is a treat!)</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">Here are the links:</span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">FITC: <a href="http://www.oddlystudios.com/?page_id=192&amp;paged=3">http://www.oddlystudios.com/?page_id=192&amp;paged=3</a></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">Example, Part 1, 2, 3: <a href="http://www.oddlystudios.com/?page_id=192&amp;paged=2">http://www.oddlystudios.com/?page_id=192&amp;paged=2</a></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">Part 4, 5, 6: <a href="http://www.oddlystudios.com/?page_id=192">http://www.oddlystudios.com/?page_id=192</a></span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;"> </span></p>
<p class="MsoNormal"><span style="font-size: 10pt; font-family: Arial;">DJ</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/05/05/puremvc-notes-from-tim-willison-at-fitc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tween Engines</title>
		<link>http://blog.geminilearning.com/2009/03/25/tween-engines/</link>
		<comments>http://blog.geminilearning.com/2009/03/25/tween-engines/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 15:51:34 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[AS3 Tween Engines]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=169</guid>
		<description><![CDATA[Update (March 25th, 2009) : Grant Skinner&#8217;s gTween and Tweenlite are being merged. There are a lot Tween engines out there. Here are a couple available for Actionscript development. The FuseKit. (AS2-based tween engine. Moses Gunesch manages this site. I discovered this tween library at Lee Brimelow&#8216;s Flash tutorial site at gotoandlearn.) The GOASAP site [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update</strong> (March 25th, 2009) : Grant Skinner&#8217;s <a href="http://www.gskinner.com/blog/archives/2009/03/gtween_and_twee.html" target="_blank">gTween</a> and <a href="http://blog.greensock.com/gskinnercollaboration/" target="_blank">Tweenlite</a> are being merged.</p>
<p>There are a lot Tween engines out there. Here are a couple available for Actionscript development.</p>
<ul>
<li>The <a title="FuseKit" href="http://www.mosessupposes.com/Fuse/" target="_blank">FuseKit</a>. (AS2-based tween engine. Moses Gunesch manages this site. I discovered this tween library at <a title="Lee Brimelow's site" href="http://www.theflashblog.com" target="_blank">Lee Brimelow</a>&#8216;s Flash tutorial site at <a title="GotoAndLearn" href="http://www.gotoandlearn.com" target="_blank">gotoandlearn</a>.)</li>
<li>The <a title="GOASAP" href="http://www.goasap.org/" target="_blank">GOASAP </a>site is Moses Gunesch&#8217;s AS3 Tween engine library</li>
<li>Grant Skinner did a major rewrite of his <a title="gTween Engine (AS3)" href="http://www.gskinner.com/blog/archives/2009/02/gtween_beta_5_r.html" target="_blank">gTween</a> engine recently (Feb 2nd, 2009).</li>
<li><a title="Kitchensync" href="http://code.google.com/p/kitchensynclib/" target="_blank">KitchenSync</a> (I first came across this at the <a title="Head Conference" href="http://www.headconference.com/" target="_blank">Head conference</a> online conference.)</li>
<li><a title="Tweener" href="http://code.google.com/p/tweener/" target="_blank">Tweener</a> (Available for AS2 and AS3. The <a title="Tweener Documentation" href="http://hosted.zeh.com.br/tweener/docs/en-us/" target="_blank">documentation</a> is very helpful. I use this library for my AS2 development.)</li>
<li><a title="Tweenlite" href="http://http://blog.greensock.com/tweenmaxas3" target="_blank">Tweenlite</a> (Recommended by Papervision2D&#8217;s blog.)</li>
</ul>
<p>When I had scoured sites over the internet, I could not really find any preference over the other. With exception to <a title="Papervision 3D Tutorials" href="http://papervision2.com/" target="_blank">Papervision 3D Tutorial site</a>, a blogger named Charlie [If somebody can tell me his name, I would like to know] recommened Tweenlite over Tweener for its superior speed rendering. Anyway, I am sure that someone will have some kind of speed comparison tests.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/03/25/tween-engines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash Camp 2009 Montreal</title>
		<link>http://blog.geminilearning.com/2009/02/06/flash-camp-2009-montreal/</link>
		<comments>http://blog.geminilearning.com/2009/02/06/flash-camp-2009-montreal/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 20:53:37 +0000</pubDate>
		<dc:creator>David Jumeau</dc:creator>
				<category><![CDATA[AIR (Formerly Apollo)]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash Builder (formerly Flex Builder)]]></category>

		<guid isPermaLink="false">http://blog.geminilearning.com/?p=175</guid>
		<description><![CDATA[Flash Camp is coming to Montreal. Mike Potter is coming to Montreal to give us a pep talk about Flex Builder, Flash Catalyst and etc. Free food, Free t-shirts, and more&#8230; Find out at the swfmontreal site. DJ]]></description>
			<content:encoded><![CDATA[<div id="attachment_176" class="wp-caption alignnone" style="width: 329px"><a href="http://www.swfmontreal.com"><img class="size-full wp-image-176" title="flash_flex_camp" src="http://blog.geminilearning.com/wp-content/uploads/2009/02/flash_flex_camp.jpg" alt="Flash Camp logo" width="319" height="91" /></a><p class="wp-caption-text">Flash Camp is coming...</p></div>
<p>Flash Camp is coming to Montreal. Mike Potter is coming to Montreal to give us a pep talk about Flex Builder, Flash Catalyst and etc. Free food, Free t-shirts, and more&#8230;</p>
<p>Find out at the <a title=".SWF Montreal" href="http://www.swfmontreal.org" target="_blank">swfmontreal </a>site.</p>
<p>DJ</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.geminilearning.com/2009/02/06/flash-camp-2009-montreal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

