<?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>Lost In Actionscript - Shane McCartney &#187; Play</title>
	<atom:link href="http://www.lostinactionscript.com/blog/index.php/category/play/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lostinactionscript.com/blog</link>
	<description>Lost In Actionscript</description>
	<lastBuildDate>Sat, 06 Mar 2010 04:03:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Custom blend modes for Flash 10</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2009/05/26/custom-blend-modes-for-flash-10/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2009/05/26/custom-blend-modes-for-flash-10/#comments</comments>
		<pubDate>Mon, 25 May 2009 22:58:46 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://www.lostinactionscript.com/blog/?p=256</guid>
		<description><![CDATA[In the last few months I have been working on a collection of blendmodes for Flash 10 which extend the limited set of blendmodes currently and inconsistently supplied by Adobe applications. This can help to achieve all kinds of motion effects which I won't go into detail here but if you know a little about [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-medium wp-image-257" title="chameleon" src="http://www.lostinactionscript.com/blog/wp-content/uploads/2009/05/chameleon-300x224.jpg" alt="chameleon" width="300" height="224" />In the last few months I have been working on a collection of blendmodes for Flash 10 which extend the limited set of blendmodes currently and inconsistently supplied by Adobe applications. This can help to achieve all kinds of motion effects which I won't go into detail here but if you know a little about After Effects you will know that some of these are rather exciting.</p>
<p>If you are familiar with the Adobe product line there is inconsistency between Photoshop/Illustrator/Flash/Fireworks/InDesign and support for various subsets of blendmodes which is rather annoying especially for us Flash guys. This project overzealously named the 'Ultimate Blend Mode Collection' is an attempt to standardize this unofficially on Adobes behalf. So marrying up Photoshop designs and Flash layouts with unsupported blendmodes won't be nearly as annoying as has been previously. Further to this, these custom blendmodes allow for control to exaggerate and undo the blendmode effects. What this means is you do not have to double up the blendmode effect by duplicating the DisplayObject instance with the same blendmode you can just multiply the single blendmode effect - simple and quite effecient.</p>
<p>So far I have completed the following custom blend modes :</p>
<ul>
<li>Add</li>
<li>Hard Mix</li>
<li>Hardlight</li>
<li>Glow</li>
<li>Subtract</li>
<li>Stencil Luma</li>
<li>Extrapolate</li>
<li>Difference</li>
<li>Average</li>
<li>Lighter Color</li>
<li>Lighten</li>
<li>Color Dodge</li>
<li>Stencil Alpha</li>
<li>Stamp</li>
<li>Softlight</li>
<li>Silhouette Luma</li>
<li>Silhouette Alpha</li>
<li>Screen</li>
<li>PinLight</li>
<li>Phoenix</li>
<li>Overlay</li>
<li>Negation</li>
<li>Multiply</li>
<li>Linear Light</li>
<li>Linear Dodge</li>
<li>Linear Burn</li>
<li>Darken</li>
<li>Desaturate</li>
<li>Exclusion</li>
<li>Color Burn</li>
<li>Alpha</li>
<li>Darker Color</li>
</ul>
<p>These are working though have issues of dirty-ness on alpha channels (explained below) for blending layers :</p>
<ul>
<li>Reflect</li>
<li>Freeze</li>
<li>Heat</li>
<li>Vivid Light</li>
</ul>
<p>These custom blend modes are currently in development :</p>
<ul>
<li>Color</li>
<li>Hue</li>
<li>Luminosity</li>
<li>Saturation</li>
<li>Dissolve</li>
</ul>
<h3>How to use custom blend modes</h3>
<p>I have only provided a method to use these custom blend modes included with the 'Ultimate Blendmode Collection' for Flex and CS4 users. This is because the PBJ files are compiled into a SWC so you will need to be able to reference SWCs from your FLA or SWF compiler to use the custom blend modes I have mentioned. The syntax to apply a custom blend mode can be achieved via any of the following approaches :</p>
<pre class="actionscript"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">BlendModeShader</span>;
&nbsp;
myDisplayObject.<span style="color: #006600;">blendShader</span> = BlendModeShader.<span style="color: #006600;">SOFTLIGHT</span>;</pre>
<p>or
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">BlendModeShader</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">shaders</span>.<span style="color: #006600;">*</span>;
&nbsp;
myDisplayObject.<span style="color: #006600;">blendShader</span> = <span style="color: #0006ff; font-weight: bold;">new</span> BlendModeSoftlight<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>or you can manipulate the shader </p>
<pre class="actionscript"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">BlendModeShader</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">shaders</span>.<span style="color: #006600;">*</span>;
&nbsp;
<span style="color: #0006ff; font-weight: bold;">var</span> customBlendMode: BlendModeSoftlight  = <span style="color: #0006ff; font-weight: bold;">new</span> BlendModeSoftlight<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
customBlendMode.<span style="color: #006600;">multiply</span> = <span style="color: #cc66cc;">2</span>;
customBlendMode.<span style="color: #006600;">alpha</span> = <span style="color: #cc66cc;">0.5</span>;
myDisplayObject.<span style="color: #006600;">blendShader</span> = customBlendMode;</pre>
<h3>Tips for writing your own custom blend modes</h3>
<p>Here are some potentially huge gotchas and lovely time savers for those wanna be pixel shader writers (like myself) :</p>
<ol>
<li>Un-multiply alpha before carrying out your shader algorithm. You might already know that Flash pre-multiplies the alpha channel onto the rgb channels this means that if you want to know what the actual rgb components are you will need to do the following :
<pre class="actionscript"><span style="color: #0066CC;">void</span>
evaluatePixel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
       	float2 uv = outCoord<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
       	float4 src1Rgba = sampleLinear<span style="color: #66cc66;">&#40;</span>src1, uv<span style="color: #66cc66;">&#41;</span>;
        float src1Alpha = src1Rgba.<span style="color: #006600;">a</span>;
        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>src1Alpha&gt;<span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span> src1Rgba.<span style="color: #006600;">rgb</span> *= <span style="color: #cc66cc;">1.0</span>/src1Alpha; <span style="color: #808080; font-style: italic;">//This line un-multiplies the alpha from the rgb channels</span>
<span style="color: #66cc66;">&#125;</span></pre>
</li>
<li>When your done manipulating your blending layer against the base layer it's more than likely you will need to composite your new blending layer and base layers together while preserving the alpha components. The following should be useful for this :
<pre class="actionscript"><span style="color: #0066CC;">void</span>
evaluatePixel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
       	......
&nbsp;
        <span style="color: #006600;">interpolateAlpha</span> = src2Rgba.<span style="color: #006600;">a</span>;
        inverseAlpha = <span style="color: #cc66cc;">1.0</span>-interpolateAlpha;
&nbsp;
        dst.<span style="color: #006600;">rgb</span> = src2Rgba.<span style="color: #006600;">rgb</span>+src1Rgba.<span style="color: #006600;">rgb*inverseAlpha</span>;
        dst.<span style="color: #006600;">a</span> = <span style="color: #0066CC;">min</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1.0</span>, src1Alpha+src2Alpha<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
</li>
<li>Make sure you clamp the components you are altering between 0.0 and 1.0 outside these will give you unusual results between tests made with the Pixel Bender Toolkit and from a published Flash movie. This bit of code ought to fix this :
<pre class="actionscript"><span style="color: #0066CC;">void</span>
evaluatePixel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
       	float3 minRgb = float3<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0.0</span>, <span style="color: #cc66cc;">0.0</span>, <span style="color: #cc66cc;">0.0</span><span style="color: #66cc66;">&#41;</span>;
        float3 maxRgb = float3<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1.0</span>, <span style="color: #cc66cc;">1.0</span>, <span style="color: #cc66cc;">1.0</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        ......
&nbsp;
        <span style="color: #006600;">dst</span>.<span style="color: #006600;">rgb</span> = clamp<span style="color: #66cc66;">&#40;</span>dst.<span style="color: #006600;">rgb</span>, minRgb, maxRgb<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
</li>
<li>Because Flash premultiplies alpha and I explained earlier about why you may need to un-multiply alpha from the rgb components. It's important to know from this there is a certain degree of losiness and this article by <a href="http://www.quasimondo.com/archives/000665.php#000665">Mario</a> is a great Actionscript explanation (completely unrelated to shaders) of this and is one among many others crying out for help (like me). You may notice in the example below which demonstrates these custom blend modes (or in your own tests) a certain degree of image dirty-ness and this dirty-ness is due to this. I am still working on a way to reduce or get around this - any ideas are certainly welcome - and I've highlighted the shaders above most affected by this.</li>
<li>When applying a shader the input sources for the blending and base layer are automatically set. This is great but doesn't allow for setting any further image4 inputs. From my tests if I do try to do this then the Flash Player crashes every time. This is bug and generally bugging me because I can't complete other custom blendmodes based on random math like the Dissolve blendmode</li>
</ol>
<h3>How to get the custom blend modes</h3>
<p>I have placed my PBJ, PBK and SWC files on a <a href="http://code.google.com/p/blendmodes4flash/">code.google</a> project. I have also put together a brief <a href="http://code.google.com/p/blendmodes4flash/wiki/GettingStarted">getting started</a> page.  If you want to get an idea of what's possible using these custom blend modes the simple example below should help to demonstrate this. Also make sure you try out a few of the various base and blending layers I have set up to see what does what.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_UltimateBlendModeCollection_1887910590"
			class="flashmovie"
			width="550"
			height="920">
	<param name="movie" value="http://www.flashdynamix.com/examples/Blendmodes4Flash/SWFLoader.swf?url= http://www.flashdynamix.com/examples/Blendmodes4Flash/UltimateBlendModeCollection.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/examples/Blendmodes4Flash/SWFLoader.swf?url= http://www.flashdynamix.com/examples/Blendmodes4Flash/UltimateBlendModeCollection.swf"
			name="fm_UltimateBlendModeCollection_1887910590"
			width="550"
			height="920">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<h3>References</h3>
<p>If you are interested in writing your own blend modes I used quite a few sources in order to collect the algorithms used in the examples seen above - here are the main sources :<br />
<a href="http://www.pegtop.net/delphi/articles/blendmodes/">http://www.pegtop.net/delphi/articles/blendmodes/</a><br />
<a href="http://blog.mouaif.org/?p=94">http://blog.mouaif.org/?p=94</a><br />
<a href="http://www.nathanm.com/photoshop-blending-math/">http://www.nathanm.com/photoshop-blending-math/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2009/05/26/custom-blend-modes-for-flash-10/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>AS3 Tween Engine &#8211; Tweensy (Preview)</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2008/08/31/as3-tween-engine-tweensy-preview/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2008/08/31/as3-tween-engine-tweensy-preview/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 18:15:15 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://www.lostinactionscript.com/blog/?p=73</guid>
		<description><![CDATA[
Dynamic tweening is really important to a Flash Developer, and when I was programming in AS2 my tweening library of choice was either FuseKit or the Zigo Engine. Since AS3 there have been a few options available:
Tweener
Tween Lite
Adobe's Tween
GTween
ASAP Tween
There have been many posts on how some are better in performance and features than others. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/tweensy.jpg" alt="Tweensy AS3 Tweening Engine" /></p>
<p>Dynamic tweening is really important to a Flash Developer, and when I was programming in AS2 my tweening library of choice was either FuseKit or the Zigo Engine. Since AS3 there have been a few options available:</p>
<li>Tweener</li>
<li>Tween Lite</li>
<li>Adobe's Tween</li>
<li>GTween</li>
<li>ASAP Tween</li>
<p>There have been many posts on how some are better in performance and features than others. Without going into detail, I rate them in the following order, from best to worst:<br />
1) TweenLite/Max<br />
2) Tweener<br />
3) GTween<br />
4) ASAP Tween<br />
5) Adobe Tween</p>
<p>Even though there are 5 options above, the top 2 are the only ones I'd ever consider using. Even with this said, Tween Lite is good, but it's not a code library I'd prefer to use. If anyone cares to take a look through the source code, they’ll notice that it's not particularly clearly (well) written. Because of this, it's not exactly easy for a developer to extend Tween Lite/Max if they need to.</p>
<p>Introducing Tweensy, my new tweening engine, which has been in use for the last 8 months on many of my commercial projects, which I'll supply to the community free of charge (although donations are appreciated). As I mentioned above, Tween Lite/Max and Tweener are really the only libraries I feel I need to compare my performance and feature benchmarking with, to prove that Tweensy will equal, or more usually surpass the performance and features of the existing options. I'll post these performance/feature comparison tests in my next post.</p>
<p>More importantly than this, I think it's crucial that a new tweening engine should have its own unique point of difference. From my review of the above tweening engines, it is clear that they are built for a similar concept (property and motion tweening) and in a simplistic comparison they offer the same features with varying performance.</p>
<p>Tweensy, however, offers these unique features:</p>
<p>1) A Bitmap rendering feature allowing for Bitmap Effects not easily achieved from the Adobe filter set such as Directional Motion Blur, Liquid Theshold, Directional Displacement and Buldge/Skew Displacement.<br />
2) Particle Emitters to generate smoke, fire, abstract, and magical effects from your motion tweens.<br />
3) Vector shape Tweening<br />
4) Gradient Tweening</p>
<p>Well enough of the introduction - I'll show you some examples of what I've been able to achieve by utilising some of the features above. I recommend that you install the Flash Player 10 beta to get the best FPS results.</p>
<p><a href="http://www.flashdynamix.com/examples/Tweensy/Cloud_Rain.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/redCloud.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Alien_Rain.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/alienRain.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Slime.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/slime.jpg" alt="" /> </a><a href="http://www.flashdynamix.com/examples/Tweensy/Genie_Smoke.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/genieSmoke.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Fire.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/fire.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Fire_Smoke.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/fire_smoke.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Warp.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/warp.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Magic_Orbit.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/magicOrbit.jpg" alt="" /></a><a href="http://www.flashdynamix.com/examples/Tweensy/Zany_Bolts.html"><img src="http://www.flashdynamix.com/blog/wp-content/uploads/2008/08/zanyBolts.jpg" alt="" /></a></p>
<div class="clear"></div>
<p>So Tweensy is intended to provide motion effects, but at its core is an extremely efficient property tweening engine. As the name suggests, Tweensy is also designed to be very easy and flexible to use, so here's the code of how I created the fire effect example above.</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">flashdynamix</span>.<span style="color: #006600;">effects</span>.<span style="color: #006600;">layers</span>.<span style="color: #006600;">DisplacementLayer</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">flashdynamix</span>.<span style="color: #006600;">effects</span>.<span style="color: #006600;">*</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">flashdynamix</span>.<span style="color: #006600;">effects</span>.<span style="color: #006600;">extras</span>.<span style="color: #006600;">Emittor</span>;
&nbsp;
 
&nbsp;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">*</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">geom</span>.<span style="color: #006600;">ColorTransform</span>;
<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #006600;">getDefinitionByName</span>;
&nbsp;
<span style="color: #0006ff; font-weight: bold;">var</span> tween:Tweensy = <span style="color: #0006ff; font-weight: bold;">new</span> Tweensy<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0006ff; font-weight: bold;">var</span> layer:DisplacementLayer = <span style="color: #0006ff; font-weight: bold;">new</span> DisplacementLayer<span style="color: #66cc66;">&#40;</span>tween, <span style="color: #cc66cc;">550</span>, <span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">2</span>, BlendMode.<span style="color: #006600;">NORMAL</span>, <span style="color: #cc66cc;">0.95</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">-6</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// This makes the layer offset each of the colour channels on each render so the result is black smoke</span>
layer.<span style="color: #006600;">ct</span>.<span style="color: #006600;">redOffset</span> = <span style="color: #cc66cc;">-20</span>;
layer.<span style="color: #006600;">ct</span>.<span style="color: #006600;">blueOffset</span> = <span style="color: #cc66cc;">-20</span>;
layer.<span style="color: #006600;">ct</span>.<span style="color: #006600;">greenOffset</span> = <span style="color: #cc66cc;">-20</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// This is the start colour for the fire</span>
<span style="color: #0006ff; font-weight: bold;">var</span> ct:ColorTransform = <span style="color: #0006ff; font-weight: bold;">new</span> ColorTransform<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">80</span>, <span style="color: #cc66cc;">30</span>, <span style="color: #cc66cc;">15</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// This is the display asset which will be used to render the flame effect</span>
<span style="color: #0006ff; font-weight: bold;">var</span> Flame: <span style="color: #0006ff; font-weight: bold;">Class</span> = getDefinitionByName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Flame&quot;</span><span style="color: #66cc66;">&#41;</span> as <span style="color: #0006ff; font-weight: bold;">Class</span>;
&nbsp;
<span style="color: #0006ff; font-weight: bold;">var</span> emittor:Emittor = <span style="color: #0006ff; font-weight: bold;">new</span> Emittor<span style="color: #66cc66;">&#40;</span>tween, Flame, BlendMode.<span style="color: #0066CC;">ADD</span>, <span style="color: #cc66cc;">2</span>, <span style="color: #cc66cc;">0.73</span>, <span style="color: #cc66cc;">0.77</span>, <span style="color: #cc66cc;">5</span>, <span style="color: #cc66cc;">60</span>, <span style="color: #cc66cc;">0.5</span>, <span style="color: #cc66cc;">-45</span>, <span style="color: #cc66cc;">90</span><span style="color: #66cc66;">&#41;</span>;
emittor.<span style="color: #006600;">startColor</span> = ct;
emittor.<span style="color: #006600;">startScale</span> = <span style="color: #cc66cc;">0.2</span>;
emittor.<span style="color: #006600;">endScale</span> = <span style="color: #cc66cc;">2</span>;
&nbsp;
addChild<span style="color: #66cc66;">&#40;</span>layer<span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>Now before someone comments, I do realise that this isn't exactly 1 line of code. This is intentional because Tweensy is designed not only for the examples I demonstrate (examples are just to show what can be done), but provides a library with which you can create your own motion effects. This makes Tweensy a lot of fun to experiment with.</p>
<p>The source code to Tweensy is currently available as a public beta <a title="Tweensy.org" href="http://www.tweensy.org" target="_blank">here</a>. I am particularly interested in Flash developers who would like to get involved in creating their own motion effects examples to provide feedback and improve Tweensy. I hope to have a release version of Tweensy publicly available some in late October 2008 with a public beta available before then.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2008/08/31/as3-tween-engine-tweensy-preview/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
		<item>
		<title>Google, Windows, Yahoo, Ask Maps API for AS3/AS2/Flex</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2008/05/29/google-windows-yahoo-ask-maps-api-as3/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2008/05/29/google-windows-yahoo-ask-maps-api-as3/#comments</comments>
		<pubDate>Wed, 28 May 2008 23:06:34 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://www.lostinactionscript.com/blog/index.php/2008/05/29/google-windows-yahoo-ask-maps-api-as3/</guid>
		<description><![CDATA[It's been some time coming though I've finally had time to finish the AS3 build of my universal maps code. It's available for download free of charge (though donations are apreciated) from the same SVN repository and the details for this are below. As well included is the original AS2 version in the legacy.zip file.
It's [...]]]></description>
			<content:encoded><![CDATA[<p>It's been some time coming though I've finally had time to finish the AS3 build of my universal maps code. It's available for download free of charge (though donations are apreciated) from the same SVN repository and the details for this are below. As well included is the original AS2 version in the legacy.zip file.</p>
<p>It's been a nice to re-build this project from scratch by taking full advantage of AS3 to simplify the original AS2 universal maps code as it's now 95 classes from over 500 but still offering almost all the inital functionality! As well not to mention the amazing performance differences between AVM1 and 2. I haven't gotten around to full documentation (will soon) but there are samples included on all the maps sources to easily get you started.</p>
<p>Here are some examples...</p>
<p>Google Maps<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SWFLoader.swf?url=GoogleMap_1537072165"
			class="flashmovie"
			width="512"
			height="512">
	<param name="movie" value="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMap.swf" />
	<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMap.swf"
			name="fm_SWFLoader.swf?url=GoogleMap_1537072165"
			width="512"
			height="512">
		<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Windows Virtual Earth Maps<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SWFLoader.swf?url=WindowsMap_1615728329"
			class="flashmovie"
			width="512"
			height="512">
	<param name="movie" value="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=WindowsMap.swf" />
	<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=WindowsMap.swf"
			name="fm_SWFLoader.swf?url=WindowsMap_1615728329"
			width="512"
			height="512">
		<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Google Mars Maps<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SWFLoader.swf?url=GoogleMapMars_653469832"
			class="flashmovie"
			width="512"
			height="512">
	<param name="movie" value="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMapMars.swf" />
	<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMapMars.swf"
			name="fm_SWFLoader.swf?url=GoogleMapMars_653469832"
			width="512"
			height="512">
		<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Google Moon Maps<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_SWFLoader.swf?url=GoogleMapMoon_674284558"
			class="flashmovie"
			width="512"
			height="512">
	<param name="movie" value="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMapMoon.swf" />
	<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/examples/Maps/SWFLoader.swf?url=GoogleMapMoon.swf"
			name="fm_SWFLoader.swf?url=GoogleMapMoon_674284558"
			width="512"
			height="512">
		<param name="base" value="http://www.flashdynamix.com/examples/Maps/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Download the source from the following SVN details<br />
SVN: http://mapsas3.googlecode.com/svn/trunk/</p>
<p>Don't have an SVN client? I recommend you use Tortoise - <a href="http://tortoisesvn.tigris.org/">get it here</a> or if you're an Eclipse user try <a href="http://subclipse.tigris.org/">Subclipse</a>
</p>
<p>To compile with Flex I used the command line arguments on the GoogleMapFlex example class :<br />
<code>-default-size 512 512 -default-frame-rate 31 -default-background-color 0x262B2D -library-path {flexSDK}/frameworks/locale/en_US -verbose-stacktraces</code><br />
To publish a different example using Flex just make sure the class extends UniMapFlex rather than UniMap and that's it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2008/05/29/google-windows-yahoo-ask-maps-api-as3/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>You Tube Flash AS3 / AS2 Data &amp; Player API</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2007/10/13/flash-you-tube-api/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2007/10/13/flash-you-tube-api/#comments</comments>
		<pubDate>Sat, 13 Oct 2007 05:56:02 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://www.lostinactionscript.com/blog/index.php/2007/10/13/flash-you-tube-api/</guid>
		<description><![CDATA[Recently I have been working on something involving the use of video content from You Tube. With the lack of a good API out there I created my own. Below is a simple example of this working with sample code to download further below.


<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="youTube"
			class="flashmovie"
			width="700"
			height="460">
	<param name="movie" value="/blog/wp-content/swf/youTube.swf" />
	<param name="base" value="/blog/wp-content/swf/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/blog/wp-content/swf/youTube.swf"
			name="youTube"
			width="700"
			height="460">
		<param name="base" value="/blog/wp-content/swf/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
AS3 example
&#160;
import com.flashdynamix.services.YouTube;
import com.flashdynamix.events.YouTubeEvent;
//
var [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been working on something involving the use of video content from You Tube. With the lack of a good API out there I created my own. Below is a simple example of this working with sample code to download further below.</p>
<p><script src="http://code.flashdynamix.com/YouTube/youTube.js" type="text/javascript"></script><br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="youTube"
			class="flashmovie"
			width="700"
			height="460">
	<param name="movie" value="/blog/wp-content/swf/youTube.swf" />
	<param name="base" value="/blog/wp-content/swf/" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/blog/wp-content/swf/youTube.swf"
			name="youTube"
			width="700"
			height="460">
		<param name="base" value="/blog/wp-content/swf/" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>AS3 example</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">flashdynamix</span>.<span style="color: #006600;">services</span>.<span style="color: #006600;">YouTube</span>;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">flashdynamix</span>.<span style="color: #006600;">events</span>.<span style="color: #006600;">YouTubeEvent</span>;
<span style="color: #808080; font-style: italic;">//</span>
<span style="color: #0006ff; font-weight: bold;">var</span> yt:YouTube = <span style="color: #0006ff; font-weight: bold;">new</span> YouTube<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
yt.<span style="color: #006600;">clientKey</span> = <span style="color: #ff0000;">&quot;ytapi-ShaneMcCartney-flashdynamix-vuj2k916-0&quot;</span>;
<span style="color: #0006ff; font-weight: bold;">function</span> onLoaded<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:YouTubeEvent<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>.<span style="color: #006600;">method</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">case</span> YouTube.<span style="color: #006600;">SEARCH</span> :
<span style="color: #b1b100;">for</span> each <span style="color: #66cc66;">&#40;</span><span style="color: #0006ff; font-weight: bold;">var</span> <span style="color: #0066CC;">video</span>:YouTubeVideo <span style="color: #b1b100;">in</span> <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">data</span>.<span style="color: #0066CC;">list</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">video</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #b1b100;">break</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//</span>
yt.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>YouTubeEvent.<span style="color: #006600;">COMPLETE</span>, onLoaded<span style="color: #66cc66;">&#41;</span>;
yt.<span style="color: #006600;">videosForTag</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Top Gear&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>AS2 example</p>
<pre class="actionscript">&nbsp;
<span style="color: #0066CC;">import</span> com.<span style="color: #006600;">FlashDynamix</span>.<span style="color: #006600;">services</span>.<span style="color: #006600;">YouTube</span>;
<span style="color: #808080; font-style: italic;">//</span>
<span style="color: #0006ff; font-weight: bold;">var</span> yt:YouTube = <span style="color: #0006ff; font-weight: bold;">new</span> YouTube<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
yt.<span style="color: #006600;">APIKey</span> = <span style="color: #ff0000;">&quot;WplekwLy_Nw&quot;</span>;
<span style="color: #0006ff; font-weight: bold;">var</span> obj:<span style="color: #0066CC;">Object</span> = <span style="color: #0006ff; font-weight: bold;">new</span> <span style="color: #0066CC;">Object</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
obj.<span style="color: #0066CC;">loaded</span> = <span style="color: #0006ff; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>evt:EventArgs<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">switch</span> <span style="color: #66cc66;">&#40;</span>evt.<span style="color: #0066CC;">type</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
<span style="color: #b1b100;">case</span> YouTube.<span style="color: #006600;">VIDEOSBYTAG</span> :
<span style="color: #0006ff; font-weight: bold;">var</span> videos = evt.<span style="color: #006600;">value</span>.<span style="color: #0066CC;">video</span>;
<span style="color: #b1b100;">break</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>;
<span style="color: #808080; font-style: italic;">//</span>
yt.<span style="color: #006600;">addListeners</span><span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span>;
yt.<span style="color: #006600;">videosbyTag</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Top Gear&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;</pre>
<p>The class I created YouTube.as supports both the legacy and current version of the YouTube API <a href="http://www.youtube.com/dev_docs">legacy documentation</a> and <a href="http://code.google.com/apis/youtube/developers_guide_protocol.html">current documentation</a>.</p>
<p>Download the source from the following SVN details<br />
SVN: http://youtubeas3.googlecode.com/svn/trunk/</p>
<p>Don't have an SVN client? I recommend you use Tortoise - <a href="http://tortoisesvn.tigris.org/">get it here</a> or if you're an Eclipse user try <a href="http://subclipse.tigris.org/">Subclipse</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2007/10/13/flash-you-tube-api/feed/</wfw:commentRss>
		<slash:comments>265</slash:comments>
		</item>
		<item>
		<title>Douglas Peuker Line Generalization</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2007/07/11/douglas-peuker-line-generalization/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2007/07/11/douglas-peuker-line-generalization/#comments</comments>
		<pubDate>Tue, 10 Jul 2007 14:41:35 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">http://www.lostinactionscript.com/blog/index.php/2007/07/11/douglas-peuker-line-generalization/</guid>
		<description><![CDATA[Just recently I have been working on some code which required line generalization for Flash from drawings / poly line data. I have posted up sample code and a demonstration SWF to show the results of these tests. I found that the Douglas Peuker algorithm was the simplest to implement the results are pretty good. [...]]]></description>
			<content:encoded><![CDATA[<p>Just recently I have been working on some code which required line generalization for Flash from drawings / poly line data. I have posted up sample code and a demonstration SWF to show the results of these tests. I found that the Douglas Peuker algorithm was the simplest to implement the results are pretty good. The only down point is code only usually runs in O(n log m) time where m the number of points is small. I would like to try and speed this up by a technique using the Melkman convex hull algorithm based on a paper written by Hershberger & Snoeyink they split the lower and higher bounds to increase performance on the simplification process. </p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_douglasPeuker_1637894948"
			class="flashmovie"
			width="550"
			height="400">
	<param name="movie" value="http://www.flashdynamix.com/blog/wp-content/swf/douglasPeuker.swf" />
	<param name="bgcolor" value="#262B2D" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/blog/wp-content/swf/douglasPeuker.swf"
			name="fm_douglasPeuker_1637894948"
			width="550"
			height="400">
		<param name="bgcolor" value="#262B2D" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Download the <a href="http://www.flashdynamix.com/downloads/LineGeneralization.zip">source code here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2007/07/11/douglas-peuker-line-generalization/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Convex Hull Algorithms for Actionscript</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2007/06/12/convex-hull-algorithms-for-actionscript/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2007/06/12/convex-hull-algorithms-for-actionscript/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 13:12:20 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Play]]></category>
		<category><![CDATA[Source]]></category>

		<guid isPermaLink="false">/blog/index.php/2007/06/12/convex-hull-algorithms-for-actionscript/</guid>
		<description><![CDATA[Recently I have been playing around with some code that required the use of Convex Hull's but I couldn't find any one who had ported these algorithms to Actionscript. If you don't know about Convex Hull's you can read about them here. I have written the Convex Hull Class to work with a few of [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been playing around with some code that required the use of Convex Hull's but I couldn't find any one who had ported these algorithms to Actionscript. If you don't know about Convex Hull's you can read about them <a href="http://en.wikipedia.org/wiki/Convex_hull_algorithms">here</a>. I have written the Convex Hull Class to work with a few of the popular algorithms as I was playing around with the pro's and con's of using each including :	</p>
<li>Graham Scan</li>
<li>Melkman</li>
<li>Jarvis March</li>
<li>BFP</li>
<p>An example SWF (AS2.0) using the ConvexHull.as Class is below (only with the Graham Scan Algorithm are the points draggable). I am surre if this was in AS3 it would run alot faster as most the memory is used in loop sorts<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_convexHull_766146387"
			class="flashmovie"
			width="500"
			height="500">
	<param name="movie" value="http://www.flashdynamix.com/blog/wp-content/swf/convexHull.swf" />
	<param name="bgcolor" value="#262B2D" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.flashdynamix.com/blog/wp-content/swf/convexHull.swf"
			name="fm_convexHull_766146387"
			width="500"
			height="500">
		<param name="bgcolor" value="#262B2D" />
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object><br/></p>
<p>To download the source <a href="http://www.flashdynamix.com/downloads/ConvexHull.zip">click here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2007/06/12/convex-hull-algorithms-for-actionscript/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Semi-Permanent Sydney 2007</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2007/04/01/semi-permanent-sydney-2007/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2007/04/01/semi-permanent-sydney-2007/#comments</comments>
		<pubDate>Sun, 01 Apr 2007 04:15:59 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Play]]></category>

		<guid isPermaLink="false">/blog/index.php/2007/04/01/semi-permanent-sydney-2007/</guid>
		<description><![CDATA[This Friday, Saturday I went to Sydney's Semi-Permanent 07 with the Soap crew and my girlfriend. For those who don't know it's a conference on design in any medium. I have been to the last 2 years events and often they have some inspiring speakers, I especially like it when they talk about either there [...]]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.lostinactionscript.com/blog/wp-content/uploads/2007/04/semi.jpg' alt='Semi-Permanent 2007' />This Friday, Saturday I went to Sydney's Semi-Permanent 07 with the Soap crew and my girlfriend. For those who don't know it's a conference on design in any medium. I have been to the last 2 years events and often they have some inspiring speakers, I especially like it when they talk about either there business or technical process. My previous expectations of the first days speakers wasn't quite met, don't get me wrong there work was good, but a majority of them were fine artists rather than designers. I also think the order of the speakers could of been changed so that the content differed more through out the day. The second day was alot better a wider selection of speakers with mostly better work than the first, no disappointments.</p>
<p>The speakers for SP07 were as follows</p>
<p>Day 1 Friday</p>
<p><strong><a href="http://www.peaceloveandbrownrice.com">Sophie Howarth</a></strong><br />
She promoted her Big Day Out Photography with her recent book 'Peace Love and Brown Rice'. I hadn't heard of her before and I was hoping she would deliver more stories on her experiences and punters of the Big Day Out rather than just the photo montage we recieved. She described her self as a people photographer, most the people shots of the BDO were the rock stars. She also revealed during QA her favourite BDO was this years 2007, rationalle being since the release of her book she has since privaledged back stage passes and intends to release a new book of this years BDO.</p>
<p><strong><a href="http://www.toko.nu">TOKO</a></strong><br />
Eva and Michael provided us with an interesting overview mostly of a large selection of various billboard posters mostly for music events. They started there story with a humorous camparison of the differences between the Nederlands and Australia because of there recent relocatation to Australia. Then continued with Michael presenting most the content and Eva controlling the arrow key. There typographic sills were good, often building there own typefaces - which I like doing also. I was particularly interested in the annual report which they took some creative license on the graphs making them 'sexy', but I couldn't clearly see where I was sitting.</p>
<p><strong><a href="http://siscottdesign.com">Si Scott</a></strong><br />
Si's ornate typographic skills by using a inked and penned technique was pretty impressive especially seeing he said he did it all by hand, must take forever. I really felt sorry for this guy nerves got the better of him pretty bad in the beginning but luckily found his stride later on. It was also cool Si has managed to coin and develop his graphic look and make alot of money out of it, though he did say - 'lately he's trying to develop something new'.</p>
<p><strong><a href="http://www.tiffanybozic.net">Tiffany Bozic</a></strong><br />
Her unique canvas of maple wood combined with a honed realistic painting style of animals in a sureal environment, best summed up her work. You can tell with Tiffany she loves what she does and has travelled to lengths to do so even cmaping in the back of machine shops. She also has a relentless pursuit for working closely with biologists to better understand her subject, the crazy geek she is even married one. She later let us know she is working on her first artistic installation at a museum in San Francisco, again getting the opportunity to work closely with biologists.</p>
<p><strong><a href="http://www.jamesjean.com">James Jean</a></strong><br />
James illustration work was awesome. He mostly presented work for the comic Fables, which he has done the cover for 50+ titles. The volume of work for these titles was nicely overviewed in a mosiac grid layout. I particularly liked seeing the drawing process that James used rather than just talking about it. He also really loves to use the invert blendmode, I think he must of said 'then i just inverted it' about 20 times. Something else that also interested me was that James said he worked as a Flash designer in NY during the .com boom and I was wondering wether he still tinkers in Flash today?</p>
<p><strong><a href="http://www.motiontheory.com">Motion Theory</a></strong><br />
This LA based VFX company gave us a process overview of a project they did for a music clip. It was good to focus on a single project like that and try and get across your process in your team, this is so often over looked at these events. The work was good but not the best VFX I have seen I was more inspired by companies like <a href="http://www.qubekonstrukt.com">Qube Konstruct</a> and my favourite <a href="http://www.psyop.tv">Pysop</a> when they presented in the last few SP's.</p>
<p>Day 2 Saturday</p>
<p><strong><a href="http://www.zawada.com.au">Jonathan Zawada</a></strong><br />
Jonathon's graphic design and art direction work was great. I especially appreciated the concise way he presented his work even including his reference examples. The main project presented was a series of the Preset covers he did. He also dabbles in doing online design from which he quickly showed us the Presets site.</p>
<p><strong><a href="http://www.mikeomeally.com">Mike O'Meally</a></strong><br />
Mike's showed us his skate boarding photos and insights into the stories behind them for Slam magazine. He explained his story of following your dream regardless of what people or your lecturers may say.</p>
<p><strong><a href="http://www.kinseyvisual.com">BLK/MRKT - Dave Kinsey</a></strong><br />
Dave showed us a collection of his commercial and fine artist work. His commercial work included mostly brand ID and advertising design to target youth culture through a graphic street style look. Dave also runs a small gallery to house about a dozen artists work in San Fransisco and explained a little about the background of this and the artists work involved.</p>
<p><strong><a href="http://www.bluetonguefilms.com">Nash Edgerton</a></strong><br />
Nash is a movies and music clips stunt man and also directs his own self funded films. Cool eh. His drive to do his own self written films while also working on stunts to pay the bills was inspiring in the strangest way. I had seen his work previously with the film 'Lucky' at Tropfest years ago and was great to meet the guy behind it all. </p>
<p><strong><a href="http://www.myspace.com/marmalademag">Marmalade</a></strong><br />
Marmalade is a magazine for smart good looking people. Marmalade's unqiue approach to design for this magazine was cool, they actually build the magazine raising titles and content with foam core then photographing it. They also don't follow some of the normal traditions of high volume magazines having set sections month on end. Marmalade has a main article with interdispersed related abstract articles which results in exploratory reading. As well alot of the direction they took in the magazine was from self motivated market research tailoring the magazine to there readers rather than double guessing.</p>
<p><strong><a href="http://www.methodstudios.com">Method Studios</a></strong><br />
Method Studios is a visual effects company with an impressive reel again not quite as good as Pysop or Qube Konstruct my SP faves but good none the less. The work presented on Seers was great as some how they managed to convince a cardigan brand to do the impossible - take a chance and do something unique. They also discussed the artistic/creative process for some of the work they had done on the movie 'the ring', some of the process resulted from a new phrase I have pocketed 'happy accidents'.</p>
<p><strong>The Verdict</strong><br />
I really wished this years Semi-Permanent had at least 1 presenter primarily from the web, interactive or game design industry, pretty disappointing. As well next year only include commercial designers/artists - no fine artists. And a more diverse range of speakers over the first day would of been better. All this said my highlights for the show were TOKO, James Jean and Jonathon Zawanda for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2007/04/01/semi-permanent-sydney-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simply Experimental Stuff #1</title>
		<link>http://www.lostinactionscript.com/blog/index.php/2006/12/10/simply-experimental-stuff-1/</link>
		<comments>http://www.lostinactionscript.com/blog/index.php/2006/12/10/simply-experimental-stuff-1/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 01:16:42 +0000</pubDate>
		<dc:creator>Shane McCartney</dc:creator>
				<category><![CDATA[Play]]></category>

		<guid isPermaLink="false">http://www.flashdynamix.com/blog2/?p=29</guid>
		<description><![CDATA[I have been really inspired most recently by the toyings of some Flash Developers and though normally I just aint got the time thought it was bout time I did. So I have set a few very small experiments to get started in creating dynamic or behavioural art.
Pollock
Flys
Abstract
Beziers
]]></description>
			<content:encoded><![CDATA[<p><img src='http://www.lostinactionscript.com/blog/wp-content/uploads/2007/07/20070227-experiement_1.jpg' alt='20070227-experiement_1.jpg' />I have been really inspired most recently by the toyings of some Flash Developers and though normally I just aint got the time thought it was bout time I did. So I have set a few very small experiments to get started in creating dynamic or behavioural art.</p>
<p><a href="http://www.flashdynamix.com/experiments/pollock.html">Pollock</a><br />
<a href="http://www.flashdynamix.com/experiments/flys.html">Flys</a><br />
<a href="http://www.flashdynamix.com/experiments/flys.html">Abstract</a><br />
<a href="http://www.flashdynamix.com/experiments/bezier.html">Beziers</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lostinactionscript.com/blog/index.php/2006/12/10/simply-experimental-stuff-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
