<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.5" -->
<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/"
	>

<channel>
	<title>d.c.Holth</title>
	<link>http://blog.dcholth.com</link>
	<description>Flash, Flex, Actionscript</description>
	<pubDate>Fri, 05 Feb 2010 23:34:36 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.5</generator>
	<language>en</language>
			<item>
		<title>Flash Player 10 Rotation XYZ Fun</title>
		<link>http://blog.dcholth.com/2009/02/07/flash-player-10-rotation-xyz-fun/</link>
		<comments>http://blog.dcholth.com/2009/02/07/flash-player-10-rotation-xyz-fun/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 18:39:22 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flex</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2009/02/07/flash-player-10-rotation-xyz-fun/</guid>
		<description><![CDATA[I&#8217;ve been playing around a lot with Flash Player 10&#8217;s rotation XYZ.  After doing a series of experimentation and actually implementing it into a new project, I had some doubts about Adobe&#8217;s implementation of 3D.
Experiment #1: http://blog.dcholth.com/beta/RotTester/RotTester.html
The images are laid out in a grid, with each image&#8217;s rotations (XY &#038; Z) being set to the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around a lot with Flash Player 10&#8217;s rotation XYZ.  After doing a series of experimentation and actually implementing it into a new project, I had some doubts about Adobe&#8217;s implementation of 3D.</p>
<p>Experiment #1: <a href="http://blog.dcholth.com/beta/RotTester/RotTester.html">http://blog.dcholth.com/beta/RotTester/RotTester.html</a></p>
<p>The images are laid out in a grid, with each image&#8217;s rotations (XY &#038; Z) being set to the values of the numeric sliders at the top.  As you can see, each image&#8217;s perspective looks different, because they are placed in a 3D environment with the &#8216;camera&#8217; being set to a specific point.  I had a heck of a time figuring out how to set that camera!</p>
<p>If you look at <a target="_blank" href="http://livedocs.adobe.com/flex/3/langref/flash/display/DisplayObject.html#rotationX">http://livedocs.adobe.com/flex/3/langref/flash/display/DisplayObject.html#rotationX</a>  it says <strong>&#8220;Indicates the x-axis rotation of the DisplayObject instance, in degrees, from its original orientation relative to the 3D parent container.&#8221; </strong></p>
<p>Well, in the example above, each image is placed in its own Canvas - my best guess was that the parent canvas should be its &#8216;3D Container&#8217; so the rotation should be based off of that, but clearly it was basing off some other point at the Application level.</p>
<p>I posted my frustrations with this a few places, and finally fellow Universal Minder, <a href="http://ryantgraff.com/?p=36">Ryan Graff came to the rescue</a>, with the missing piece:  <a href="http://livedocs.adobe.com/flex/3/langref/flash/geom/PerspectiveProjection.html">PerspectiveProjection</a></p>
<p>Setting the PerspectiveProjection of your target&#8217;s <a href="http://livedocs.adobe.com/flex/3/langref/flash/geom/Transform.html">Transform </a>will give you the results I believe most developers will be looking for.</p>
<p>Experiment 2: <a href="http://blog.dcholth.com/files/PanelTest/PanelTest.html">http://blog.dcholth.com/files/PanelTest/PanelTest.html</a></p>
<p>The image in the TitleWindow on the left has its PerspectiveProjection set to be the center of the TitleWindow, where as the image in the TitleWindow on the right has the default properties.  Notice that dragging the TitleWindow on the right around the screen results in distortion of the image, where the image on the left remains tilted exactly how we want.</p>
<p>Experiment 3: <a href="http://blog.dcholth.com/files/RotatorTest/RotatorTest.html">http://blog.dcholth.com/files/RotatorTest/RotatorTest.html</a></p>
<p>Back to our grid of images, here we set the images PerspectiveProjection to point towards the red dot.  Drag it around the screen to see how it effects how each image is percieved.</p>
<p>In conclusion, I believe that most developers will want to take advantage of the PerspectiveProjection&#8217;s properties when working  rotations of UIComponents in 3dSpace.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2009/02/07/flash-player-10-rotation-xyz-fun/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extending the State Class</title>
		<link>http://blog.dcholth.com/2008/05/03/extending-the-state-class/</link>
		<comments>http://blog.dcholth.com/2008/05/03/extending-the-state-class/#comments</comments>
		<pubDate>Sat, 03 May 2008 17:13:43 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flex</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2008/05/03/extending-the-state-class/</guid>
		<description><![CDATA[Flex offerers a wide range of utilities to make working with complicated components and applications simpler.  One such feature is the use of States.  States are often thought of as only visual or GUI related, but in they are perfect for dividing up logic. In my current project I am building a series [...]]]></description>
			<content:encoded><![CDATA[<p>Flex offerers a wide range of utilities to make working with complicated components and applications simpler.  One such feature is the use of States.  States are often thought of as only visual or GUI related, but in they are perfect for dividing up logic. In my current project I am building a series of learning activities, and some have activities within activities&#8230; needless to say it can get complicated quickly.  While breaking up the logic into separate components was one option, I didn&#8217;t want to have any risk of &#8216;flashes&#8217; of GUI while pieces are refreshed, moved, or risk messing up data by passing all these pieces around.</p>
<p>I started to build out my activity component using states.  One state for when you enter the activity, one for each of the three phases, a cleanup state and finally an exiting state.  As I developed the components and created their enterState and exitState functions, as well as many functions only used while in a specific state, I realized that my component was getting to be well over a thousand lines of code and a bit unmanageable.  To find the logic pertaining to the current section I was working on, I had to sift through hundreds of lines of code.  I decided there had to be a better way&#8230; and there was!</p>
<p>I started by creating an AbstractActivityState that extended the State class.  This had had any common properties and logic, as well as a bindable &#8220;Activity&#8221; object.  This worked well for accessing the public variables of the activity.  The problem came with private variables.  While I would have had access to these if I had written all my logic within the Activity MXML, since I was passing the Activity object into my states, they were inaccessible.</p>
<p>There were three solutions I found for this problem:</p>
<ol>
<li>Make all the properties you need access to within the state public, and break encapsulation rules.</li>
<li>Add additional Bindable properties to the the custom state classes and pass in the bindable private variables.</li>
<li>Create a StateMiniModel that had all the bindable properties I needed and simply pass it to the custom state.  This is handy if you don&#8217;t want to break encapsulation but have a great many common private variables to be passed to all your custom classes.</li>
</ol>
<p>To make things even more simple, I added some listeners and protected &#8216;enter/exit&#8217; classes to be called from within the AbstractActivityState so I when declaring my states in MXML I didn&#8217;t need to give it anything other than a name.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2008/05/03/extending-the-state-class/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Facebook Friend Geocoder</title>
		<link>http://blog.dcholth.com/2008/04/23/facebook-friend-geocoder/</link>
		<comments>http://blog.dcholth.com/2008/04/23/facebook-friend-geocoder/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 02:15:43 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>MapQuest</category>

		<category>Facebook</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2008/04/23/facebook-friend-geocoder/</guid>
		<description><![CDATA[
I&#8217;m very excited about the MapQuest API and all the possibilities it offeres developers for creating mapping applications.  I wanted to test the API and sharpen my own skills, so over the past few days I&#8217;ve been working on a Facebook geocoding application that will put any of your friends with current locations set [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://apps.facebook.com/friend_geocoder/"><img alt="Friend Geocoder image" id="image69" src="http://blog.dcholth.com/wp-content/uploads/2008/04/friend_mapquester.jpg" /></a></p>
<p>I&#8217;m very excited about the MapQuest API and all the possibilities it offeres developers for creating mapping applications.  I wanted to test the API and sharpen my own skills, so over the past few days I&#8217;ve been working on a Facebook geocoding application that will put any of your friends with current locations set on a Mapquest map.</p>
<p>It may be because I&#8217;m using a free developers license key, but I&#8217;ve noticed a few of the locations aren&#8217;t geocoding properly.  For example, Roseville MN is turning up Roseville California.</p>
<p>I haven&#8217;t submitted the application to the Facebook library yet, but feel free to try it out and post any feedback you have either here or on the <a href="http://www.facebook.com/apps/application.php?id=24933131600">application about page</a>.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2008/04/23/facebook-friend-geocoder/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Speaking At FlashMN on Wednesday March 19</title>
		<link>http://blog.dcholth.com/2008/03/13/speaking-at-flashmn-on-wednesday-march-19/</link>
		<comments>http://blog.dcholth.com/2008/03/13/speaking-at-flashmn-on-wednesday-march-19/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 15:33:51 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flex</category>

		<category>MapQuest</category>

		<category>TripPix</category>

		<category>AIR</category>

		<category>Speaking</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2008/03/13/speaking-at-flashmn-on-wednesday-march-19/</guid>
		<description><![CDATA[I will be speaking on developing MapQuest&#8217;s TripPix application (formerly MapMyPix) at the next FlashMN users group on Wednesday, March 19th.  For those of you unfamiliar with the FlashMN users group, it meets at 7 on the third Wednesday of each month at Easel Training in Saint Paul.
The talk will include information on building [...]]]></description>
			<content:encoded><![CDATA[<p>I will be speaking on developing MapQuest&#8217;s TripPix application (formerly <a href="http://www.mapmypix.com/">MapMyPix</a>) at the next <a href="http://www.flexcapacitor.com/flashusers/">FlashMN</a> users group on Wednesday, March 19th.  For those of you unfamiliar with the FlashMN users group, it meets at 7 on the third Wednesday of each month at <a href="http://www.easeltraining.com/">Easel Training</a> in Saint Paul.</p>
<p>The talk will include information on building application using the <a href="http://company.mapquest.com/mqbs/4a.html">MapQuest Advantage API</a>, AIR and Flex Builder 3.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2008/03/13/speaking-at-flashmn-on-wednesday-march-19/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MapQuest SpyGlass Demo</title>
		<link>http://blog.dcholth.com/2007/10/22/mapquest-spyglass-demo/</link>
		<comments>http://blog.dcholth.com/2007/10/22/mapquest-spyglass-demo/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 20:23:36 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>MapQuest</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2007/10/22/mapquest-spyglass-demo/</guid>
		<description><![CDATA[Here is the current iteration of the SpyGlass tool I&#8217;ve been making for use with the MapQuest API.  Click and drag to move the SpyGlass.  Use the two icons on the top right to change between map and satellite views. The plus/minus/equals will adjust the zoom level of the SpyGlass.
[kml_flashembed movie=&#8221;http://blog.dcholth.com/files/SpyGlassDemo.swf&#8221; height=&#8221;400&#8243; width=&#8221;440&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the current iteration of the SpyGlass tool I&#8217;ve been making for use with the <a href="http://www.mapquest.com/features/main.adp?page=developer_tools_oapi">MapQuest API</a>.  Click and drag to move the SpyGlass.  Use the two icons on the top right to change between map and satellite views. The plus/minus/equals will adjust the zoom level of the SpyGlass.<br />

</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2007/10/22/mapquest-spyglass-demo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;My God&#8230; Its full of stars!&#8221;</title>
		<link>http://blog.dcholth.com/2007/08/07/my-god-its-full-of-stars/</link>
		<comments>http://blog.dcholth.com/2007/08/07/my-god-its-full-of-stars/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 21:42:21 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flash</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2007/08/07/my-god-its-full-of-stars/</guid>
		<description><![CDATA[
Have I mentioned how much I like the BitmapData class?  Had a request pass by desk last week asking me to create a little app to be used in a presentation.  They wanted it so that when a user clicked on a button in the middle, a star would [...]]]></description>
			<content:encoded><![CDATA[<p><br />
<font size="2" face="Arial">Have I mentioned how much I like the BitmapData class?  Had a request pass by desk last week asking me to create a little app to be used in a presentation.  They wanted it so that when a user clicked on a button in the middle, a star would fly across the screen to a random location, twinkling while it moved, then stay on the screen until the user clicked clear.  They wanted somewhere between 30 and 100 stars on the screen.</font></p>
<p><font size="2" face="Arial">While I think flash could have handled having that many MovieClips on screen pretty easily on its own, I wanted to see if I could make it more efficient.  The solution I came up with was to use two BitmapData layers, one for moving the stars on the screen and creating the &#8216;twinkling trails&#8217; and the other for housing all the stars in their final resting place.</font></p>
<p><font size="2" face="Arial">The two layers of BitmapData (trailsCanvasBmp, and finalBallCanvasBmp) and a ParticleManager class to track the movement of the stars and slowly fades out the trailsCanvasBmp to give the twinkling effect while its moving.  A star is created in the center of the screen, then shoots off to its random location.  When the tween is complete the star is drawn to the top finalBallCanvasBmp class which is never cleared.</font></p>
<p><font size="2" face="Arial">On each frame a random pixel is chosen from the finalBallCanvasBmp and if that pixel is NOT black (0&#215;000000), then it attaches an mcTwinkle MovieClip which destroys itself upon finishing its animation.</font></p>
<p><font size="2" face="Arial">The effect is really quite cool!  You get the sense that each star is operating under its own principles, but its actually just two BitmapData objects interacting with the ParticleManager.</font><script><!-- D(["mb","\u003c/p\>\n\n\u003cp\>\u003cfont size\u003d\&#8221;2\&#8221; face\u003d\&#8221;Arial\&#8221;\>You will notice some major performance hits if you tell it to make too many stars at one time, and if the screen gets literally filled with stars, their may be more twinkling than your computer can handle.  We&amp;amp;amp;amp;amp;amp;#39;re on some beefy machines here at work, and I have had over 20,000 stars and haven&amp;amp;amp;amp;amp;amp;#39;t noticed a performance hit.  So your movies can truly be &amp;amp;amp;amp;amp;amp;quot;Full of Stars&amp;amp;amp;amp;amp;amp;quot;.  ($1 to who ever can name the movie reference*)\u003c/font\>\u003c/p\>\n\n\u003cp\>\u003cfont size\u003d\&#8221;2\&#8221; face\u003d\&#8221;Arial\&#8221;\>There are a few other things going on here that I can elaborate on if requested.  The background is generated using Perlin noise (so really there are 3 Bitmaps).  Each star is colored using my Pallet class I can upload if requested.  Full code for this project can be uploaded if requested.\u003c/font\>\u003c/p\>\n\n\u003cp\>\u003cfont face\u003d\&#8221;Arial\&#8221; size\u003d\&#8221;2\&#8221; color\u003d\&#8221;#000000\&#8221;\> &amp;amp;amp;amp;amp;amp;amp;lt;&amp;amp;amp;amp;amp;amp;amp;lt;full_of_stars.swf&amp;amp;amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;amp;amp;gt; \u003c/font\>\n\u003c/p\>\n\n\u003c/div\>\n\n\u003ctable\>\u003ctr\>\u003ctd bgcolor\u003d\&#8221;#ffffff\&#8221;\>\u003cfont color\u003d\&#8221;#000000\&#8221;\>This e-mail and its attachments are intended only for the use of the addressee(s) and may contain privileged, confidential or proprietary information. If you are not the intended recipient, or the employee or agent responsible for delivering the message to the intended recipient, you are hereby notified that any dissemination, distribution, displaying, copying, or use of this information is strictly prohibited. If you have received this communication in error, please inform the sender immediately and delete and destroy any record of this message. Thank you.\u003cbr\>\n\u003c/font\>\u003c/td\>\u003c/tr\>\u003c/table\>&#8221;,0] );  //&#8211;></script></p>
<p><font size="2" face="Arial">You will notice some major performance hits if you tell it to make too many stars at one time, or if the screen gets literally filled with stars, their may be more twinkling than your computer can handle.  We&#8217;re on some beefy machines here at work, and I have had over 20,000 stars and haven&#8217;t noticed a performance hit.  So your movies can truly be &#8220;Full of Stars&#8221;.  ($1 to who ever can name the movie reference*)</font></p>
<p><font size="2" face="Arial">There are a few other things going on here that I can elaborate on if requested.  The background is generated using Perlin noise (so really there are 3 Bitmaps).  Each star is colored using my Pallet class I can upload if desired.  Full code for this project can be uploaded.</font>
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2007/08/07/my-god-its-full-of-stars/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web Spinner Revealed</title>
		<link>http://blog.dcholth.com/2007/07/25/web-spinner-revealed/</link>
		<comments>http://blog.dcholth.com/2007/07/25/web-spinner-revealed/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 01:19:44 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flash</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2007/07/25/web-spinner-revealed/</guid>
		<description><![CDATA[As promised, you can now download the code used for my web spinning projects.  There is one fla, and four classes.
I made some modifications to Grant Skinner&#8217;s grid based proximity manager to take advantage of an IProximityDetectable interface.  For a full explanation on how grid based proximity management works, check out Grant&#8217;s original [...]]]></description>
			<content:encoded><![CDATA[<p>As promised, you can now <a href="http://blog.dcholth.com/files/WebspinnerCode.zip">download the code</a> used for my web spinning projects.  There is one fla, and four classes.</p>
<p>I made some modifications to Grant Skinner&#8217;s grid based proximity manager to take advantage of an IProximityDetectable interface.  For a full explanation on how grid based proximity management works, check out <a href="http://www.gskinner.com/blog/archives/2004/04/experiment_grid.html">Grant&#8217;s original post</a> on the subject.  The IProximityDetectable interface has only two methods:</p>
<pre><span class="keyword">interface</span> IProximityDetectable {
<span class="keyword">public</span> <span class="keyword">function</span> getPosX():<span class="identifier">Number</span>;
<span class="keyword">public</span> <span class="keyword">function</span> getPosY():<span class="identifier">Number</span>;
}</pre>
<p>As might be assumed, they retrieve the &#8216;x&#8217; and &#8216;y&#8217; position of an object.  Why implement this?  Well, the original ProximityManager used the _x and _y values of a MovieClip, but my spider web particles don&#8217;t actually have any MovieClips.  Its just adjusting x and y values of an object in memory, and drawing lines to the new distance.  The ProximityManager is used for drawing the lines between particles based on how close they are to each other.</p>
<p>So how do the particles move?  Each onEnterFrame the ParticleManager calls the tick function for each particle.</p>
<pre><span class="keyword">public</span> <span class="keyword">function</span> tick():<span class="identifier">Void</span> {
canvas.<span class="identifier">moveTo</span>(x,y);
x += xVel;
y += yVel;

xVel *= drag;
yVel *= drag;

yVel += yGravity;
xVel += xGravity;

<span class="keyword">var</span> f:<span class="identifier">Number</span> = <span class="identifier">Math</span>.<span class="identifier">abs</span>(xVel) + <span class="identifier">Math</span>.<span class="identifier">abs</span>(yVel);
alpha -= f/__lifeSpan;
canvas.<span class="identifier">lineStyle</span>(2, rgb, alpha);
canvas.<span class="identifier">lineTo</span>(x,y);

<span class="keyword">if</span>(alpha <= 0){
manager.removeSpark(<span class="identifier">this</span>);
}

<span class="keyword">var</span> n:<span class="identifier">Array</span> = pm.getNeighbours(<span class="identifier">this</span>);
<span class="keyword">var</span> l:<span class="identifier">Number</span> = n.<span class="identifier2">length</span>;
<span class="keyword">for</span>(<span class="keyword">var</span> i:<span class="identifier">Number</span> = 0; i < l; i++){
canvas.<span class="identifier">lineStyle</span>(1, rgb, alpha);
canvas.<span class="identifier">moveTo</span>(x, y);
canvas.<span class="identifier">lineTo</span>(n[i].getPosX(), n[i].getPosY());
}
}</pre>
<p>Each particle starts out with random velocities for x and y.  These velocities are added to the x and y position of the particle.  Drag is applied to the velocities to slow them down.  The drag is set to such a small value in this particular instance that it really doesn&#8217;t have much of an effect.  Gravity along the x and y axis is then applied to the particle  The gravity values are generated randomly when the particle is first created and unlike the velocities, has no baring on its parents value (in the instance of a branched particle). Since gravity is random, it may pull particles up, down, left or right.  After all moving is done, the particle uses asks who its neighbors are and draws lines to them.</p>
<p>Speaking of branching, the ParticleManager does a probability calculation for each particle during the onEnterFrame which determines if a particle will branch.  Each particle has a chance to branch, so growth can occur exponentially.  To keep particles from branching too much, this calculation is ignored if the maximum number of particles has been reached (default to 40).</p>
<p>Once each particle has been moved and had its connections drawn, the entire image is drawn to a Bitmap and color/alpha adjusted to fade away slowly.  All and all a pretty neat little effect.</p>
<p>I&#8217;d like to move this to AS3 eventually to see if I get crazy speed increases!  I&#8217;ve put one last experiment below which allows you some control over different variables in the spider webs. Be careful when making adjustments&#8230; You can easily give your computer a heart attack.</p>
<p>
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2007/07/25/web-spinner-revealed/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cartoon Smoke Using Particle Systems</title>
		<link>http://blog.dcholth.com/2007/06/23/41/</link>
		<comments>http://blog.dcholth.com/2007/06/23/41/#comments</comments>
		<pubDate>Sat, 23 Jun 2007 20:19:09 +0000</pubDate>
		<dc:creator>DC</dc:creator>
		
		<category>Flash</category>

		<category>Universal Mind</category>

		<guid isPermaLink="false">http://blog.dcholth.com/2007/06/23/41/</guid>
		<description><![CDATA[Earlier this week I had the pleasure of attending my first FlashBelt conference and had a great time!  If you ever get the opportunity to attend, FlashBelt is definitely worth it!
Seb Lee-Delisle gave a great presentation on Particles for the Non-Physicist.  I have worked a bit with particles on my own, but never [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier this week I had the pleasure of attending my first FlashBelt conference and had a great time!  If you ever get the opportunity to attend, FlashBelt is definitely worth it!</p>
<p><a href="http://www.sebleedelisle.com/">Seb Lee-Delisle</a> gave a great presentation on Particles for the Non-Physicist.  I have worked a bit with particles on my own, but never really understood the possibilities of what a particle system could do.  Seb pointed out all the spots on the <a href="http://www.pluginmedia.net/">Plug-in Media website</a> that have particles - way more systems going on there than I expected.</p>
<p>I had a chance to speak with Seb after the session as to how he made the merging borders around the cartoon smoke effects and dripping ooze (from the Plug-in Media main page).  He said you needed to have multiple layers of particles.  So, when I got home, I downloaded the demonstration files and got to work.  Below you can see the results.  Its a really cool effect.</p>
<p></p>
<p>The important thing when creating the two layers of particles, is that each layers of particles must have matching properties - only the linked movieclip is changed.  You can see that the background particle is darker and larger than the foreground, but they move and grow in unison.  This allows the background particle to be the border around the lighter front particles and merge together seamlessly.</p>
<p>My next step is to figure out how to use a particle system to make a MovieClip appear on fire.  If you&#8217;ve seen my fire effect code, it uses a computationally-heavy method of duplicating, distorting, coloring and fading the MovieClip.  I think the particle-system effects could be used to create the fire instead.
</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.dcholth.com/2007/06/23/41/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
