<?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>Blog &#187; Flash</title>
	<atom:link href="http://www.harrynorthover.com/blog/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.harrynorthover.com/blog</link>
	<description>The Blog of Creative Developer Harry Northover, covering a wide range of topics related to creative development.</description>
	<lastBuildDate>Wed, 11 May 2011 21:54:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Review: Away3D 3.6 Essentials.</title>
		<link>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/</link>
		<comments>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/#comments</comments>
		<pubDate>Wed, 11 May 2011 21:54:26 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=985</guid>
		<description><![CDATA[Over the last few weeks I have been working my way through Away3D 3.6 Essentials written by Matthew Casperson. This is a really good book to get if your interested in learning 3D in Flash as it covers everything from &#8230; <a href="http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Over the las<a href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank"><img class="alignleft" title="Away3D 3.6" src="http://i18.fastpic.ru/big/2011/0318/34/e543b83bcf4bb3743012030fa7d59634.jpg" alt="" width="219" height="271" /></a>t few weeks I have been working my way through <a href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank">Away3D 3.6 Essentials</a> written by Matthew Casperson. This is a really good book to get if your interested in learning 3D in Flash as it covers everything from basic 3D concepts to creating full 3d scenes using the Away3D engine.</p>
<p>The book starts of with a fairly in-depth introduction into how to get started with Away3D by teaching you how to check out the library using SVN, get it set up in Flash Builder or Flash CS4 and even covers using FlashDevelop. The book then moves on to explain the basic components of the Away3D engine such as Camera3D, Scene3D &amp; View3D. It even provides you with a basic template class to get you started ASAP.</p>
<p>Once you&#8217;ve mastered this step, the next thing covered is basic 3D concepts like 3D positioning, vertices, faces, coordinates and primitive shapes. A basic explanation of all the primitives available in Away3D is given and what properties can be applied to them.</p>
<p>With this mastered the next chapter covers moving 3D objects in 3D space. Coordinates systems are covered including explanations of world, parent and local space (each with code examples) and other functions such as the moveForward/Backward/etc() functions are covered. Then tweening with library&#8217;s such as TweenLite is covered. When you have finished this chapter you&#8217;ll be completely familiar with all the animation methods the Away3D library offers you to manipulate and animate objects in you scene.</p>
<p>The next topic covered is z-sorting and has an entire chapter dedicated to it. This covers the default method of z-sorting that Away3D uses, an in-depth explanation of how your 3D scene is sorted, how to edit and adjust the sorting of 3D objects and what additional renderers are offered by Away3D.</p>
<p>After this the extensive subject of Materials is covered. All the different types of materials such as <em>WireframeMaterial, </em><em>AnimatedBitmapMaterial </em>and many others are covered, as well as the Pixel Bender based ones such as the <em>Dot3BitmapMaterialF10. </em>Different kinds of mapping such as texture and environment are covered and also a brief explanation and code sample of how to apply each different material.  A useful table of all the supported colours and what materials support what lighting techniques is provided.</p>
<p>Models &amp; Animation is the next topic covered with an introduction to loading 3D models in to your scene, what different file types are supported and a brief explanation on how to export models in certain 3D packages. An explanation of what types of cameras are available, their differences and effects as well as mouse interactivity.</p>
<p>After this mouse interactivity, 3D text, special effects and performance issues are covered. Each chapter following the same as the ones already mentioned with a good selection of code samples provided and an in-depth explanation. Overall this book gives you everything you need to get started with the Away3D engine, and the good thing is it can be used by people who are already familiar with Away3D but what to learn more. A good understanding of Actionscript 3 is obviously required, but I highly recommend this book the anyone looking to get a good understanding of Away3D.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2011/05/11/review-away3d-3-6-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Away3D 3.6 Essentials</title>
		<link>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/</link>
		<comments>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 18:14:30 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=980</guid>
		<description><![CDATA[Packt Publishing just launched a new book on Away3D 3.6 written by Matthew Casperson. This book covers everything you need to get started with the 3D engine, including: Draw primitive shapes such as cubes, cones, spheres, and planes without having &#8230; <a href="http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Packt Publishing just launched a <a title="Away3D 3.6 Essentials" href="http://www.packtpub.com/away3d-36-essentials/book" target="_blank">new book</a> on Away3D 3.6 written by Matthew Casperson.</p>
<p>This book covers everything you need to get started with the 3D engine, including:</p>
<ul>
<li>Draw primitive shapes such as cubes, cones, spheres, and planes without having to manually construct them from their basic elements</li>
<li>Add eye-catching special effects to your Away3D application</li>
<li>Warp, curve, modify, and bend 3D text to your will</li>
<li>Focus the Camera and view 3D objects from all angles</li>
<li>Improve mouse interactivity in your 3D application</li>
<li>Integrate third-party libraries such as TweenLite and Stardust with Away3D to animate 3D objects and create particle effects</li>
<li>Use sprites and sprite classes</li>
<li>Utilize the power of Pixel Bender for image processing</li>
<li>Export 3D models from 3D modeling applications such as 3ds Max, Blender, MilkShape, and Sketch-Up</li>
<li>Get practical tips on achieving maximum performance in your 3D applications</li>
</ul>
<p>The book is mainly aimed at beginners with a good first chapter on 3D basics and terminology.</p>
<p>I will be posting a more in depth review later on, but if anyone else has this book let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2011/04/14/away3d-3-6-essentials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HYPE Framework &#8211; Bring experimentation to the masses.</title>
		<link>http://www.harrynorthover.com/blog/2009/11/03/hype-framework-bring-experimentation-to-the-masses/</link>
		<comments>http://www.harrynorthover.com/blog/2009/11/03/hype-framework-bring-experimentation-to-the-masses/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 21:53:34 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Actionscript 3]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=830</guid>
		<description><![CDATA[Recently Joshua Davis and Brendan Hall released a new framework call HYPE. The aim of the framework is to allow everyone from newbie level to professionals experiment with ease using Flash. I&#8217;m hoping to find some time in between GCSEs &#8230; <a href="http://www.harrynorthover.com/blog/2009/11/03/hype-framework-bring-experimentation-to-the-masses/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><span style="background-color: #ffffff;">Recently <a href="http://www.joshuadavis.com/" target="_blank">Joshua Davis</a> and Brendan Hall released a new framework call <a href="http://hype.joshuadavis.com/" target="_blank">HYPE</a>. The aim of the framework is to allow everyone from newbie level to professionals experiment with ease using Flash. </span></p>
<p><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2009/11/hype1.jpg" rel="lightbox[830]"><img class="alignleft size-full wp-image-833" title="hype" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/11/hype1.jpg" alt="hype" width="606" height="124" /></a></p>
<p><span style="background-color: #ffffff;">I&#8217;m hoping to find some time in between GCSEs to have a go at making some stuff with this, so keep any eye out. <strong>You can </strong><a href="http://hype.joshuadavis.com/download/hype_1.0.zip" target="_blank"><strong>download it here</strong></a><strong>, and find the </strong><a href="http://hype.joshuadavis.com/installation/readme-installation-setup/" target="_blank"><strong>setup instructions here</strong></a><strong>. </strong></span></p>
<p>Have fun!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/11/03/hype-framework-bring-experimentation-to-the-masses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Started with Augmented Reality (FLARToolkit).</title>
		<link>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/</link>
		<comments>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 22:50:34 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Augmented Reality]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[FLARToolkit]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=680</guid>
		<description><![CDATA[If you have been following me on Twitter, then you may have noticed that I have been getting into Augmented Reality. This is the coolest thing I have seen in a long time! Now if you don&#8217;t know what this &#8230; <a href="http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have been following <a href="http://www.twitter.com/harrynorthover" target="_blank">me on Twitter</a>, then you may have <a href="http://twitter.com/harrynorthover/status/1493666316" target="_blank">noticed</a> that I have been <a href="http://twitter.com/harrynorthover/status/1505193808" target="_blank">getting</a> into <a href="http://en.wikipedia.org/wiki/Augmented_reality" target="_blank">Augmented Reality</a>. This is the <strong>coolest</strong> thing I have seen in a long time! Now if you don&#8217;t know what this is, then it is a means of mapping 3D objects to a marker in the real world through a web cam.</p>
<p>Here is a simple guide to getting setup using the Augmented Reality in Flash. This includes downloading the library&#8217;s and then getting a simple demo up and running.</p>
<p>The name of the library used for Augmented Reality in Flash is called <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank">FLARToolkit</a> which is developed by Saqoosha. It is a port of the <a href="http://www.hitl.washington.edu/artoolkit/" target="_blank">ARToolkit</a> which is written in C. You can download it from <a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank">here</a> through SVN. If you haven&#8217;t got a SVN client setup then I highly recommend <a href="http://www.syntevo.com/smartsvn/index.html" target="_blank">SmartSVN</a> which is a free client and I must thank <a href="http://richardleggett.co.uk/blog/" target="_blank">Richard Leggett</a> for <a href="http://twitter.com/richardleggett/statuses/1489494390" target="_blank">recommending</a> this to me!</p>
<p>Now once you have got the code, add it to your global Actionscript folder, then print out this <a href="http://www.harrynorthover.com/files/flash/ar/assets/Marker.jpg" target="_self" rel="lightbox[680]">marker</a> and run the example. You can either compile the source in the &#8216;src&#8217; folder or just run the SWF in the &#8216;bin-debug&#8217; folder. Hopefully this gives you a idea of what AR/FLARToolkit is all about.</p>
<p>If you can run the example yourself, here is a video of it in action.</p>
<p><object width="612" height="486" data="http://vimeo.com/moogaloop.swf?clip_id=4169730&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4169730&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4169730">FLARToolkit / Augmented Reality Basic Demo.</a> from <a href="http://vimeo.com/user1592225">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>I have also written a base class for a FLARToolkit application. It is designed so that all you have to do is override the function &#8216;<em>add3d()</em>&#8216; to add your 3D objects to &#8216;<em>FLAR_Container</em>&#8221; object, and then override another function, &#8216;<em>addAnimation_3d()</em>&#8216; to add the animation. My description here is very brief so read the <em>readme</em> file in the package. You can download the class <a href="http://harry-northover-code-store.googlecode.com/files/FLARBaseClass.zip" target="_self">here</a>. If you want to see how much code this can reduce then here is an example class using the base class:</p>
<pre lang="actionscript3">package
{
	import com.harrynorthover.ar.flar.base.FLARSingleMBase;

	import flash.filters.BlurFilter;

	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.primitives.Cube;

	[SWF(width="640", height="480", frameRate="30", backgroundColor="#FFFFFF")]

	public class Demo_BaseClass_Test extends FLARSingleMBase
	{
		private var cube:Cube;

		public function Demo_BaseClass_Test()
		{
			/*This is the function 'Init' you need to call to setup the FLARToolkit scene.
			     WIDTH, HEIGHT, FRAMERATE*/
			Init(640,   480,    30);
		}

		/*
		...
		This function is the one you need to override
		to add things to your 3D scene.
		*/

		override protected function add3D():void
		{
			// Add you 3D stuff here. The more the better <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />
			var pl:PointLight3D = new PointLight3D();
			pl.z = -1000;
			pl.y = 1000;
			pl.x = 1000;
			pl.flipped = true;	

			//var blurFilter:BlurFilter = new BlurFilter(24, 12, 1);
			var matList:MaterialsList = new MaterialsList();
			var fsm:FlatShadeMaterial = new FlatShadeMaterial(pl);

			matList.addMaterial(fsm, "all");

  			cube = new Cube(matList, 60, 60, 60, 5, 5, 5);
  			//cube.useOwnContainer = true;
  			//cube.filters = [blurFilter];

  			// FLAR_Container is the FLARBaseNode that you
  			// add your 3D objects to.
	        FLAR_Container.addChild(cube);
		}

		/*
		...
		This is the function to which you override to add
		your 3D animation.
		*/

		override protected function addAnimation_3d():void
		{
			//Add you animation here.
			cube.yaw(10);
		}
	}
}</pre>
<p>See? Lots of code that has been got rid of!</p>
<h3>Other demos I have been working on are here:</h3>
<p><strong>FLAR + Lines3D</strong>:</p>
<p><object width="612" height="459" data="http://vimeo.com/moogaloop.swf?clip_id=4172342&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4172342&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4172342">FLARToolkit and Lines3D / Augmented Reality</a> from <a href="http://vimeo.com/user1592225">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p><strong>Incorporating <a href="http://code.google.com/p/as3dmod/" target="_blank">AS3DMod</a>:</strong></p>
<p><object width="612" height="459" data="http://vimeo.com/moogaloop.swf?clip_id=4172923&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" type="application/x-shockwave-flash"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=4172923&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=00adef&amp;fullscreen=1" /></object><br />
<a href="http://vimeo.com/4172923">FLAR + As3DMod</a> from <a href="http://vimeo.com/harrynorthover">Harry Northover</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>So there you go, my first few demos. Yes, I know, they are not very special but now I&#8217;m working on getting mutliple markers working and just more advanced demos in general. If you are looking for more advice on how to get set up with FLAR go over to <a href="http://www.mikkoh.com/blog/?p=182" target="_blank">this blog here</a>. This has everything you need to get going. Also, check out <a href="http://www.squidder.com/tag/flartoolkit/" target="_blank">squidder.com for some cool demos</a>.</p>
<p>Happy ARing!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/04/15/getting-started-with-augmented-reality-flartoolkit/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>PaperMash</title>
		<link>http://www.harrynorthover.com/blog/2009/01/10/535/</link>
		<comments>http://www.harrynorthover.com/blog/2009/01/10/535/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 19:43:46 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript 3]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=535</guid>
		<description><![CDATA[Here&#8217;s the first little tech demo of &#8217;09 and I think it is a pretty cool one. The first difference is that it is made with Papervision3D instead of my usual engine choice of Away3D. It also uses a relativly &#8230; <a href="http://www.harrynorthover.com/blog/2009/01/10/535/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.harrynorthover.com/files/flash/papermash/"><img class="alignnone size-full wp-image-559" title="PaperMash" src="http://www.harrynorthover.com/blog/wp-content/uploads/2009/01/preview3.jpg" alt="PaperMash" width="612" height="200" /><br />
</a></p>
<p>Here&#8217;s the first little tech demo of &#8217;09 and I think it is a pretty cool one. The first difference is that it is made with Papervision3D instead of my usual engine choice of Away3D. It also uses a relativly new library, <a href="http://www.everydayflash.com/blog/index.php/2008/09/03/as3dmod/" target="_blank">AS3DMod</a>, and works with the 4 most popular engines.  Now this library is a modifier library which can do some really cool stuff, so go on over and check it out.</p>
<p>Now for the demo. It creates a standard plane, then applys a noise and perlin modifier to it. The last thing is to apply a FlatShadeMaterial to the plane and just animate these properties in the enter frame function.</p>
<p>You can download it <a href="http://harry-northover-code-store.googlecode.com/files/PaperMash.zip">here</a>. To view the demo, click on the picture.</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2009/01/10/535/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BitmapRenderSession Demo.</title>
		<link>http://www.harrynorthover.com/blog/2008/12/08/bitmaprendersession-demo/</link>
		<comments>http://www.harrynorthover.com/blog/2008/12/08/bitmaprendersession-demo/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 21:39:24 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=388</guid>
		<description><![CDATA[(Updated: Download Link Added) Phew, a tech demo hasn&#8217;t found it&#8217;s way on here for quite a while! Here is one to let you know I&#8217;m back, but busy.  I finally managed to get an idea down on to paper, &#8230; <a href="http://www.harrynorthover.com/blog/2008/12/08/bitmaprendersession-demo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>(Updated: Download Link Added)</strong></p>
<p>Phew, a tech demo hasn&#8217;t found it&#8217;s way on here for quite a while! Here is one to let you know I&#8217;m back, but busy. </p>
<p>I finally managed to get an idea down on to paper, (well.. into the Flash IDE) that had been buzzing around in my head for ages! </p>
<p><span>There is a feature in Away3D call the <em>BitmapRenderSession</em>, and you assign this to the <em>session </em>variable of your <em>View3D</em>. What this tells the rendered to do is, instead of drawing directly to the screen, it draws everything inside a <em>BitmapData</em> object, but at a much smaller resolution. This Bitmap is then scaled up and show and the selected size. As you can imagine this saves a lot of work done, as you only have to draw at, say, a quarter of the resolution that you normally would. There is a catch. You will have figured this out already, but the lost of quality is tremendous the more you scale it up, but I have found out how to make this work for me. Just look at the demo. </span></p>
<p><span>What I have done here is create a plane, added then some animation to it. Then I am assigning a new <em>BitmapRenderSession</em> object to the View3D, and then changing the value of it when the mouse moves. If you look closely at the code, you will see that I am creating a new <em>BitmapRenderSession</em> for every frame. Not efficient at all, but I haven&#8217;t had the time to look into this properly, so if anyone knows a solution, let me know! </span></p>
<p><span>This at one end of the scale (with your mouse at the top), looks high quality, but when you move your mouse to the bottom, you can see the effect immediately. It becomes highly pixilated and, I think, fairly cool! I have seen this sort of effect on many sites, and always wondered how I could achieve it. Here is my solution, but one of many out there I&#8217;m sure. </span></p>
<p><span><a href="http://www.harrynorthover.com/blog/wp-content/uploads/1969/12/v21.swf"><img class="alignnone size-full wp-image-390" title="picture-2" src="http://www.harrynorthover.com/blog/wp-content/uploads/1969/12/picture-2.png" alt="picture-2" width="612" height="473" /></a></span></p>
<p><span><em>Your going to have to resize your browser, as pop-ups seem to be fairly hard in WordPress <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  </em></span></p>
<p>You can download the whole thing over at my Google Code site (look on the right). <span style="text-decoration: line-through;">It should be up there in a few days</span>. Here&#8217;s the link: <a href="http://harry-northover-code-store.googlecode.com/files/BMRS.zip">BMRS.zip</a></p>
<p>Harry.</p>
<p><span><br />
</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/12/08/bitmaprendersession-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create a Skybox in Away3D.</title>
		<link>http://www.harrynorthover.com/blog/2008/11/22/how-to-create-a-skybox-in-away3d/</link>
		<comments>http://www.harrynorthover.com/blog/2008/11/22/how-to-create-a-skybox-in-away3d/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 19:05:13 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=310</guid>
		<description><![CDATA[This technique is used when you need to create an all-round back drop for a 3D scene. A skybox is basically a big cube and textures are on the inside, and the camera is placed in the middle of the &#8230; <a href="http://www.harrynorthover.com/blog/2008/11/22/how-to-create-a-skybox-in-away3d/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This technique is used when you need to create an all-round back drop for a 3D scene. A skybox is basically a big cube and textures are on the inside, and the camera is placed in the middle of the box. Ready?</p>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip" target="_self">http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip</a>.</p>
<p><strong>Step 1 &#8211; Setting up Flash.</strong></p>
<p>This is the easy bit. Create a new flash file, and leave the size of it at the default, and then in the bottom of the Flash IDE, there should be a text box saying &#8216;Document Class&#8217;. Create an Actionscript 3.0 file called SkyStuff and save it. Then you need to type SkyStuff into the text box and press enter. There should be no errors.</p>
<p><strong>Step 2 &#8211; Importing&#8230;</strong></p>
<p>Obviously, you are going to need the Away3D classes and you can download them <a href="http://away3d.com/download/away3d_2_2_0.zip" target="_self">here</a>. If you already have a folder for your classes then unzip the download and copy it to there, but if not then just copy all the content of the download to the same directory of your Flash file.</p>
<p>Here are the necessary imports:</p>
<pre lang="actionscript3"> package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.materials.BitmapMaterial;
	import away3d.primitives.Skybox;
	import away3d.core.utils.Cast;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;</pre>
<p>So, there you go, the necessary imports. I think these are fairly obvious, but if you need to look them up, go <a href="http://away3d.com/offlinedocs/Away3DAPIReferenceV2.2.html" target="_blank">here</a>.</p>
<p>So, on we go!</p>
<p><strong>Step 3 &#8211; Variables</strong>.</p>
<p>Here we need to create the necessary variables to hold stuff like materials. So here it is:</p>
<pre lang="actionscript3">public class SkyStuff extends Sprite {

		public var cam:HoverCamera3D = new HoverCamera3D( { zoom:2 } );
		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { camera:cam, scene:scene, x:0, y:0 } );

		// Skybox stuff.
		public var sky:Skybox;
		// Materials....
		public var sky_front_material:BitmapMaterial;
		public var sky_back_material:BitmapMaterial;
		public var sky_left_material:BitmapMaterial;
		public var sky_right_material:BitmapMaterial;
		public var sky_up_material:BitmapMaterial;
		public var sky_down_material:BitmapMaterial;

		// Movement vars.
		public var move:Boolean = false;
		public var lastPanAngle:Number;
		public var lastTiltAngle:Number;
		public var lastMouseX:Number;
		public var lastMouseY:Number;</pre>
<p>So first of we create the basics that are needed for any Away3D project. This is a scene, a viewpoint and a camera. I am assuming that you know what these are for, so I am going to skip to the parameters. For the camera, we set the zoom to 2, in the viewpoint we set the scene to<em>scene, </em>the camera to <em>cam </em>and align it to the top left corner of the stage.</p>
<p>Next we create the actual skybox that will have all the materials assigned to it.</p>
<p>After that we create the 6 different variables that will hold each material for the skybox faces. This includes the <em>front, back, left, right, top, bottom.</em> Fairly obvious? Hope so.</p>
<p>The next variables hold data that we need for movement of the camera. These include a variable to see if the camera needs to be moved, the last pan angle, the last tilt angle, the last mouse X position and the last mouse Y position.</p>
<p>You will see how we use these later on.</p>
<p><strong>Step 4 &#8211; Calling the functions.</strong></p>
<p>Next we create the constructor which adds an event listener to call the function <em>Init </em>that will initialize all the 3D and 2D assets.</p>
<pre lang="actionscript3">		public function SkyStuff():void {
			addEventListener(Event.ADDED_TO_STAGE, Init);
		}

		private function Init(evt:Event):void {
			InitStage();
			InitEngine();
			InitMaterials();
			InitObjects();
			InitListeners();
		}</pre>
<p>Here you can see that all the different parts of the movie are initiated here. This includes setting up the stage, Away3D, the materials for the skybox, the 3D objects (skybox), and the event listeners.</p>
<p><strong>Step 5 &#8211; Setting up the stage &amp; engine.</strong></p>
<p>Now we set the align mode and necessary stuff for Away3D.</p>
<pre lang="actionscript3">                private function InitStage():void {
			stage.align = StageAlign.TOP_LEFT
			stage.scaleMode = StageScaleMode.NO_SCALE;
		}

		private function InitEngine():void {
			cam.mintiltangle = -80;
			cam.maxtiltangle = 20;
			cam.targetpanangle = cam.panangle = 0;
			cam.targettiltangle = cam.tiltangle = 0;

			addChild(view);
		}</pre>
<p>Here we are setting the stage align to the top left, and the scale mode to no scale.</p>
<p>Next, in the<em>InitEngine() </em>function we set up the camera, and then add the viewpoint to the display list. The variables we set for the camera are the <em>mintiltangle </em>which means it cannot tilt past -80 degrees, the <em>maxtilitangle </em>which means it can&#8217;t tilt further that 20 degrees. We also set the <em>targetpanangle, </em>and the <em>targettiltangle</em>. If you need more clarification to these values, click <a href="http://away3d.com/offlinedocs/Away3DAPIReferenceV2.2.html#Class-HoverCamera3D" target="_blank">here</a>.</p>
<p>Once we have done this, we add the whole viewpoint to the stage.</p>
<p><strong>Step 6 &#8211; The meaty part, creating the Skybox</strong></p>
<p>Next, we create the actual skybox and all the materials that are needed for its faces.</p>
<pre lang="actionscript3">		private function InitObjects():void {
			sky = new Skybox( sky_front_material, sky_left_material, sky_back_material, sky_right_material, sky_up_material, sky_down_material );
			sky.quarterFaces();
			view.scene.addChild(sky);
		}

		private function InitMaterials():void {
			sky_front_material = new BitmapMaterial(Cast.bitmap(SkyFront));
			sky_back_material = new BitmapMaterial(Cast.bitmap(SkyBack));
			sky_left_material = new BitmapMaterial(Cast.bitmap(SkyLeft));
			sky_up_material = new BitmapMaterial(Cast.bitmap(SkyTop));
			sky_right_material = new BitmapMaterial(Cast.bitmap(SkyRight));
		}</pre>
<p>Now, in the function<em>InitObjects() </em>we assign a new skybox to the variable <em>sky </em>that we created in <strong>step 3</strong>.</p>
<p>So, to create a skybox you need to assign a <em>front, back, left, right, top, bottom </em>material. As you can see from the variables assigned to Skybox(), you can see which order these materials need to be assigned to. The full documentation is <a href="http://away3d.com/offlinedocs/Away3DAPIReferenceV2.2.html#Class-Skybox" target="_blank">here</a>.</p>
<p>Next, we call a function called <em>quaterFaces()</em>. This divides all face objects into 4 equal sized face objects. So this creates a more precise image.</p>
<p>Lastly, we add it to the viewpoint.</p>
<p>In the <em>InitMaterials() </em>function we assign a new bitmap material to each of the 6 materials. To do this, find a skybox (<a href="http://www.3delyvisions.com/skf1.htm" target="_blank">here&#8217;s a good site</a>) and import the 6 images into you flash file. When you import them, give them a linkage ID of Sky + (Front, Back, whatever part of the skybox it is). Make sure these linkage ID&#8217;s correspond to the ones we passed into Cast.bitmap(<em>name</em>).</p>
<p>So now we have assigned all the skybox parts to their respective variables, and then we have created the skybox, passed all the faces into it, quatered the faces and added it to the viewport. That is the key part, now on to adding event listeners and camera movement.</p>
<p><strong>Final Note &#8211; Camera Movement</strong></p>
<p>Now as this tutorial is about the skybox, and not the camera movement, I am going to just give you the code and let you work it out.</p>
<pre lang="actionscript3">private function EnterFrame(evt:Event):void {
			if (move) {
				cam.targetpanangle = 0.3 * (stage.mouseX - lastMouseX) + lastPanAngle;
				cam.targettiltangle = 0.3 * (stage.mouseY - lastMouseY) + lastTiltAngle;
			}
			cam.hover();
			view.render();
		}

		private function MouseDown(evt:MouseEvent):void {
			lastPanAngle = cam.panangle;
			lastTiltAngle = cam.tiltangle;
			lastMouseX = stage.mouseX;
			lastMouseY = stage.mouseY;
			move = true;
			stage.addEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function MouseUp(evt:MouseEvent):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function onStageMouseLeave(evt:Event):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function Resize(evt:Event):void {
			view.x = stage.stageWidth / 3;
			view.y = stage.stageHeight / 3;
		}
	}

}</pre>
<p>So there you go. I hope you enjoy this and find it useful.</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/11/22/how-to-create-a-skybox-in-away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating special effects in Flash CS3</title>
		<link>http://www.harrynorthover.com/blog/2008/11/08/creating-special-effects-in-flash-cs3/</link>
		<comments>http://www.harrynorthover.com/blog/2008/11/08/creating-special-effects-in-flash-cs3/#comments</comments>
		<pubDate>Sat, 08 Nov 2008 22:24:50 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=290</guid>
		<description><![CDATA[Right well, I have seen many different demos and examples of how to create unique, random art by code. Now this looks very cool, but how on earth do you recreate this? Well the is what I am going to &#8230; <a href="http://www.harrynorthover.com/blog/2008/11/08/creating-special-effects-in-flash-cs3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Right well, I have seen many different demos and examples of how to create unique, random art by code. Now this looks very cool, but how on earth do you recreate this? Well the is what I am going to show you. There final piece can be downloaded <a href="http://harry-northover-code-store.googlecode.com/files/Technophobia.zip" target="_self">here</a>. As you can see, this is quite a cool piece of generative art. Now I am going to show you how to achieve this.</p>
<p><strong>Step 1:</strong></p>
<p>First of fire up Flash CS3. If you don&#8217;t have a copy you can download a trial from Adobes site. Right, now create a new Flash Actionscript 3 document. The next thing to do is set up the stage. I kept my dimensions of my Flash file as the default, 550px x 400px. Also set the frame rate to about 30fps. This stops the animation from appearing to be slow, and chuggy. </p>
<p>Now for this tutorial you need a simple graphic that will be used as our starting point for the animation. So, draw a simple circle on the stage, make sure its not very bit (maximum 100&#215;100) and then select it all and press F8. This will present you with a box that will let you create a movie clip. Set the name to &#8216;Circle&#8217;, and then set the type to Movie Clip. Now, there should be a Linkage section, but if its not present, click the Advanced button in the bottom right hand corner.</p>
<p>In the linkage section there should be a check-box saying &#8220;Export for Actionscript&#8221;. Once this is clicked, some of the boxes that were greyed out should be come editable. There should be a box saying Linkage ID (or Symbol name), or something similar. If it is not already containing the word &#8216;Circle&#8217;, adjust it accordingly.</p>
<p>So now click OK. There might be a warning come up, but just click OK. The next thing to do is the delete the graphic that you created from the stage. All you need to do is select it (single click) and then press DELETE. This will delete it from the stage, but it will still be in the library. </p>
<p><strong>Step 2:</strong></p>
<p>Now we have the flash file set up, click on the first frame of the timeline and press F9 to access the actionscript editor.</p>
<p>So, now to set up everything that we need for the tweening etc. So click in the first line and add this code:</p>
<pre lang="actionscript3">import gs.TweenLite;
import gs.easing.Expo;</pre>
<p>For this to work you need to have TweenLite in your class path. You can download it from <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">here</a>. If you don&#8217;t have a special class path just unzip the file that you have just downloaded and copy the folders to the same directory that your Flash file is.</p>
<p>So with the appropriate imports done, now we need to set up some basic variables that will make our development much easier:</p>
<pre lang="actionscript3">var amountOfCircles:Number = 30;
var stageW:Number = stage.stageWidth;
var stageH:Number = stage.stageHeight;
var ranX:Number = Math.random() * stageW - 300;
var ranY:Number = Math.random() * stageH - 300;
var ranAlpha:Number = Math.random() * .5;</pre>
<p>Now here&#8217;s an explanation of what these lines are for.</p>
<p>The first one is fairly obvious. This is how many difference instances of the graphic you created earlier we will create. As you can see from the completed version there are multiple circles flying around. </p>
<p>The next two contain the width and height of the stage. This is purley to make it easier to reference to the value of the width of the stage. Basically it saves more typing.</p>
<p>The two after that are variables that hold a random X and Y value that are within the width of the stage.</p>
<p>The last one is a random alpha value between 0 &#8211; 50. This means that the graphic will never be completely opaque.</p>
<p><strong>Step 3:</strong></p>
<p>Now we need to create the 3 filters that we are going to create. There are two blur filters and a glow filter. You will see soon how we animate and apply them to out graphic.</p>
<pre lang="actionscript3">var blur:BlurFilter = new BlurFilter(10, 10, 1);
var blurBM:BlurFilter = new BlurFilter(20, 0, 1);
var glowBM:GlowFilter = new GlowFilter(Math.round( Math.random()*0xFFFFFF ));</pre>
<p>It is fairly obvious which filters are what, but the parameters are not! So here we go.</p>
<p>For a blur filter it is as follows <em>new BlurFilter(BlurX, BlurY, Quality). </em>Now the BlurX and BlurY are fairly straight forward, it sets how much you want the filter to blur the graphic on the respective axis. The next is the quality, and I usually set this to one for high quality. You can set it 1 &#8211; 15, and the X and Y can go from 0 &#8211; 255.</p>
<p>Later we will apply these filters to out bitmap data.</p>
<p><strong>Step 4:</strong></p>
<p>Now we are getting to the more exciting bits. We are going to create and add the bitmap and bitmap data objects.</p>
<p>So to do this we use:</p>
<pre lang="actionscript3">var bmd:BitmapData = new BitmapData(550, 500, true, 0x000000);
var bm:Bitmap = new Bitmap(bmd);
bm.x = 0;
bm.y = 0;
addChild(bm);</pre>
<p>Right now, this is most probably a new bit for you. So first a bit on bitmap and bitmap data objects. </p>
<ul>
<li><strong>Bitmap Data</strong> - This is basically something that holds all you data that you are going to insert into your bitmap object. So this includes the width, height, whether it is transparent or not, if so what color should be displayed in the transparent area. This will also hold all the data we want to draw, as you will see late.</li>
<li><strong>Bitmap &#8211; </strong>This is the actual bitmap that all the data from the bitmap data will be inserted into and be drawn out. Think of this as the container and the bitmap data being the cargo.</li>
</ul>
<p>So in the first line we create the bitmap data object and assign all the necessary data for now. This is what I explained earlier. </p>
<p>Next we create the bitmap will is where all the data from the bitmap data will be drawn out into. </p>
<p>After this will align the bitmap to the top left corner of the stage as the top left of the stage is always at X = 0 and Y = 0.</p>
<p>Finally we actually add it to the stage so we can visually see it.</p>
<p><strong>Step 5:</strong></p>
<p>Now we come to an exciting part, creating and adding all the instances of the graphic we created earlier to the stage.</p>
<p>Add this code straight after the last one.</p>
<pre lang="actionscript3">for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
	var circle:Circle = new Circle();
	circle.x = ranX + Math.random() * 100;
	circle.y = ranY + Math.random() * 100;
	circle.alpha = ranAlpha;
	circle.filters = [blur, glowBM];
	addChild(circle);
}</pre>
<p>So what we are doing here is creating a simple loop that will keep running until it has looped over the same about of times as we set in the <em>amoutOfCircles</em>.</p>
<p>Here we also set the current circle to have random X and Y positions, and also random alpha value. </p>
<p>Now, this is where we are starting to use the filters we created earlier. An movie clip or graphic has an array that the filters can be assigned to, so what we are doing is assigning an array of filters to the filters property of <em>circle.</em> Lastly we add it to the stage.</p>
<p><strong>Step 6:</strong></p>
<p>Next we need to add an event listener that will call a function every time a frame is executed. This is an ENTER_FRAME event. Also, we call the function that will randomly move the circles we created earlier to a new random position with a random alpha and colour.</p>
<pre lang="actionscript3">mover();
addEventListener(Event.ENTER_FRAME, enterFrame);</pre>
<p><strong>Step 7:</strong></p>
<p>Now this is a main part of our special effect, the <em>mover() </em>function. This is where part of the magic happens.</p>
<pre lang="actionscript3">function mover():void {

	for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
			var object:DisplayObject = getChildAt(i);
			if (object == bm) {
				i++;
			}
			else {
				object.alpha = ranAlpha;
			TweenLite.to(object, 1, {x: ranX + Math.random() * 1000, y: ranX + Math.random() * 1000, alpha: 0, ease:Expo.easeInOut, onComplete:mover, blurFilter:{blurX:Math.random()*100, blurY:Math.random() * 100}, tint:Math.round( Math.random()*0xFFFFFF )});
			glowBM.color = Math.round( Math.random()*0xFFFFFF );
			glowBM.alpha = ranAlpha / 2;
			}
	}
}</pre>
<p>So, here goes.</p>
<p>First of we create a loop that will iterate through all the circles. Then within this we create a variable called <em>object</em> and then we find a circle by using the <em>getChildAt() </em>which finds an object in the display list at the depth of <em>i</em> . We then assign the result of this to <em>object </em>. This gives us a handle on the current circle we are working with.</p>
<p>As the <em>getChildAt() </em>is designed to return anything that is on the stage so we need to check if it has returned the bitmap. We don&#8217;t want that, so what we do is skip to the next object in the display list. Once this has happened or if we didn&#8217;t have a handle to the bitmap in the first place we move on the code animates the circle.</p>
<p>First of we assign a new alpha value, then we tween it. Now this is beyond the scope of this tutorial, showing you how to use TweenLite, but here is a <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">good tutorial</a>. Just scroll down to the usage section. It is fairly self explanatory anyway.</p>
<p>Next we assign a new colour to the glow filter and also a new alpha value.</p>
<p><strong>Step 8:</strong></p>
<p>Now we are on the last bit of the tutorial. This defines the ENTER_FRAME function.</p>
<pre lang="actionscript3">function enterFrame(evt:Event):void {
	bmd.draw(stage);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), blurBM);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), glowBM);
	bmd.scroll(10, 0);
}</pre>
<p>So, the first line captures what you can see and assigns the data that was captured to the bitmap data, and in turn then to the bitmap.</p>
<p>Next we apply to filters to the bitmap data. These look a little weird to here is an explanation.</p>
<p>The first parameter is which source bitmap data that you want to apply the filter to. The next is what area you want to apply the filter to, and we want to apply it to the whole bitmap data, then the destination point (99.9% of the time you won&#8217;t need to change this), and then finally which filter you want to apply to it.</p>
<p>Finally the last one moves everything in the bitmap 10px to the right.</p>
<p><strong>Final Code:</strong></p>
<pre lang="actionscript3">import gs.TweenLite;
import gs.easing.Expo;

var amountOfCircles:Number = 30;
var stageW:Number = stage.stageWidth;
var stageH:Number = stage.stageHeight;
var ranX:Number = Math.random() * stageW - 300;
var ranY:Number = Math.random() * stageH - 300;
var ranAlpha:Number = Math.random() * .5;

var blur:BlurFilter = new BlurFilter(10, 10, 1);
var blurBM:BlurFilter = new BlurFilter(20, 0, 1);
var glowBM:GlowFilter = new GlowFilter(Math.round( Math.random()*0xFFFFFF ));

var bmd:BitmapData = new BitmapData(550, 500, true, 0x000000);
var bm:Bitmap = new Bitmap(bmd);
bm.x = 0;
bm.y = 0;
addChild(bm);

for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
	var circle:Circle = new Circle();
	circle.x = ranX + Math.random() * 100;
	circle.y = ranY + Math.random() * 100;
	circle.alpha = ranAlpha;
	circle.filters = [blur, glowBM];
	addChild(circle);
}

mover();
addEventListener(Event.ENTER_FRAME, enterFrame);

function mover():void {

	for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
			var object:DisplayObject = getChildAt(i);
			if (object == bm) {
				i++;
			}
			else {
				object.alpha = ranAlpha;
			TweenLite.to(object, 1, {x: ranX + Math.random() * 1000, y: ranX + Math.random() * 1000, alpha: 0, ease:Expo.easeInOut, onComplete:mover, blurFilter:{blurX:Math.random()*100, blurY:Math.random() * 100}, tint:Math.round( Math.random()*0xFFFFFF )});
			glowBM.color = Math.round( Math.random()*0xFFFFFF );
			glowBM.alpha = ranAlpha / 2;
			}
	}
}

function enterFrame(evt:Event):void {
	bmd.draw(stage);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), blurBM);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), glowBM);
	bmd.scroll(10, 0);
}</pre>
<p>So there you go, phew! I hope I explained it enough and you now understand how to create these sort of effects in Flash CS3.</p>
<p>Any problems, suggestion, complaints etc, please feel free to <a href="mailto:me@harrynorthover.co.uk" target="_self">contact me</a>!</p>
<p><strong>- Harry</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/11/08/creating-special-effects-in-flash-cs3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Away3D Base Class</title>
		<link>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/</link>
		<comments>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 12:19:13 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=226</guid>
		<description><![CDATA[In my effort to cut down the amount of code I write when using Away3D, I created this. It is a base class for projects using Away3D. What this does is create a series of protected functions that you can &#8230; <a href="http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In my effort to cut down the amount of code I write when using Away3D, I created this. It is a base class for projects using Away3D. What this does is create a series of protected functions that you can override and add in what you need, while the base class created the viewport, scene and everything else! This minimizes the amount of code you write in the actual project to a minimal amount!</p>
<p>Here is an example:</p>
<pre lang="actionscript3">package {
	import away3d.primitives.Sphere;
	import com.harrynorthover.base.AwayBase;

	public class BaseClass extends AwayBase {
		public var sphere:Sphere = new Sphere( { radius:100 } );

		public function BaseClass() {
			// Init(camZoom, viewX, viewY);
			Init(12, 0, 0);
		}

		override protected function Init3D():void {
			sphere.x = 0;
			sphere.y = 0;
			view.scene.addChild(sphere);
		}
	}
}</pre>
<p>See how much is has been reduced by? No faffing around with View3D and addChild(view) etc. </p>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/Away3dBase.zip">http://harry-northover-code-store.googlecode.com/files/Away3dBase.zip</a></p>
<p>Hope it helps!<br />
Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/10/12/away3d-base-class/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Technophobia</title>
		<link>http://www.harrynorthover.com/blog/2008/10/05/technophobia/</link>
		<comments>http://www.harrynorthover.com/blog/2008/10/05/technophobia/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 12:18:08 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[CS3]]></category>
		<category><![CDATA[Motion Graphics]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=220</guid>
		<description><![CDATA[This is just another this animation I put together last night. It uses TweenLite, and BitmapData combined with a number of filters, to create this rather groovy effect. I think this is one of my better peices, so I hope &#8230; <a href="http://www.harrynorthover.com/blog/2008/10/05/technophobia/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is just another this animation I put together last night. It uses TweenLite, and BitmapData combined with a number of filters, to create this rather groovy effect. I think this is one of my better peices, so I hope you enjoy it.</p>
<p><em><strong>NOTE: It is better viewed when you download it as I am having troubles with pop-ups in WordPress? When viewed on line it is incrediably slow, and not very good in general.</strong></em></p>
<p><a href="http://www.harrynorthover.com/files/flash/Technophobia.swf" target="_blank"><img class="alignnone size-full wp-image-222" title="Technophobia" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/10/technophobia.jpg" alt="" width="465" height="473" /></a></p>
<p>And here is the code:</p>
<pre lang="actionscript3">import gs.TweenLite;
import gs.easing.Expo;

var amountOfCircles:Number = 30;
var stageW:Number = stage.stageWidth;
var stageH:Number = stage.stageHeight;
var ranX:Number = Math.random() * stageW - 300;
var ranY:Number = Math.random() * stageH - 300;
var ranAlpha:Number = Math.random() * .5;

var blur:BlurFilter = new BlurFilter(10, 10, 1);
var blurBM:BlurFilter = new BlurFilter(20, 0, 1);
var glowBM:GlowFilter = new GlowFilter(Math.round( Math.random()*0xFFFFFF ));

var bmd:BitmapData = new BitmapData(550, 500, true, 0x000000);
var bm:Bitmap = new Bitmap(bmd);
bm.x = 0;
bm.y = 0;
addChild(bm);

for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
	var circle:Circle = new Circle();
	circle.x = ranX + Math.random() * 100;
	circle.y = ranY + Math.random() * 100;
	circle.alpha = ranAlpha;
	circle.filters = [blur, glowBM];
	addChild(circle);
}

mover();
addEventListener(Event.ENTER_FRAME, enterFrame);
stage.addEventListener(Event.RESIZE, onResize);

function mover():void {

	for (var i:uint = 0; i &lt;= amountOfCircles; i++) {
			var object:DisplayObject = getChildAt(i);
			if (object == bm) {
				i++;
			}
			else {
				object.alpha = ranAlpha;
			TweenLite.to(object, 1, {x: ranX + Math.random() * 1000, y: ranX + Math.random() * 1000, alpha: 0, ease:Expo.easeInOut, onComplete:mover, blurFilter:{blurX:Math.random()*100, blurY:Math.random() * 100}, tint:Math.round( Math.random()*0xFFFFFF )});
			glowBM.color = Math.round( Math.random()*0xFFFFFF );
			glowBM.alpha = ranAlpha / 2;
			}
	}
}

function enterFrame(evt:Event):void {
	bmd.draw(stage);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), blurBM);
	bmd.applyFilter(bmd, bmd.rect, new Point(0,0), glowBM);
	bmd.scroll(10, 0);
}

function onResize(evt:Event):void {
	bm.x = bm.y = 0;
	bm.width = stage.stageWidth;
	bm.height = stage.stageHeight;
}</pre>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/Technophobia.zip">http://harry-northover-code-store.googlecode.com/files/Technophobia.zip</a></p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/10/05/technophobia/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Away3D Skyboxes</title>
		<link>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 16:46:33 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=204</guid>
		<description><![CDATA[This is my best demo yet, and it is crucial to my new site. This demo is using the sky box features in Away3D. For those of you that don&#8217;t know what a sky box is, it is a collection &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This is my best demo yet, and it is crucial to my new site. This demo is using the sky box features in Away3D. For those of you that don&#8217;t know what a sky box is, it is a collection of images (usually 6, but in this case 5, I didn&#8217;t have a bottom one), that are displayed on the inside of a cube, and then the camera is inside the cube looking out at these images. This gives the impression of a sky, and ground and surroundings that are usually behind everything else. Using sky boxes prevents the sky being plain black.</p>
<p>Here is the demo (just click). To explore, click and drag to find your way around.</p>
<p><script type="text/javascript">&lt;br /&gt;
&lt;!--&lt;br /&gt;
function popup(mylink, windowname)&lt;br /&gt;
{&lt;br /&gt;
if (! window.focus)return true;&lt;br /&gt;
var href;&lt;br /&gt;
if (typeof(mylink) == 'string')&lt;br /&gt;
   href=mylink;&lt;br /&gt;
else&lt;br /&gt;
   href=mylink.href;&lt;br /&gt;
window.open(href, windowname, 'width=400,height=200,scrollbars=yes');&lt;br /&gt;
return false;&lt;br /&gt;
}&lt;br /&gt;
//--&gt;&lt;br /&gt;
</script></p>
<p><a onclick="return popup(this, 'notes')" href="http://www.harrynorthover.com/files/flash/Skybox.swf"><img class="alignnone size-full wp-image-205" title="Skybox" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/skybox.jpg" alt="" width="456" height="460" /></a></p>
<p>And here is the code:</p>
<pre lang="actionscript3">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.materials.BitmapMaterial;
	import away3d.primitives.Skybox;
	import away3d.core.utils.Cast;
	import flash.display.StageAlign;
	import flash.display.StageScaleMode;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;

	public class SkyStuff extends Sprite {

		public var cam:HoverCamera3D = new HoverCamera3D( { zoom:2 } );
		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { camera:cam, scene:scene, x:0, y:0 } );

		// Skybox stuff.
		public var sky:Skybox;
		// Materials....
		public var sky_front_material:BitmapMaterial;
		public var sky_back_material:BitmapMaterial;
		public var sky_left_material:BitmapMaterial;
		public var sky_right_material:BitmapMaterial;
		public var sky_up_material:BitmapMaterial;
		public var sky_down_material:BitmapMaterial;

		// Movement vars.
		public var move:Boolean = false;
		public var lastPanAngle:Number;
		public var lastTiltAngle:Number;
		public var lastMouseX:Number;
		public var lastMouseY:Number;

		public function SkyStuff():void {
			addEventListener(Event.ADDED_TO_STAGE, Init);
		}

		private function Init(evt:Event):void {
			InitStage();
			InitEngine();
			InitMaterials();
			InitObjects();
			InitListeners();
		}

		private function InitStage():void {
			stage.align = StageAlign.TOP_LEFT
			stage.scaleMode = StageScaleMode.NO_SCALE;
		}

		private function InitEngine():void {
			cam.mintiltangle = -80;
			cam.maxtiltangle = 20;
			cam.targetpanangle = cam.panangle = 0;
			cam.targettiltangle = cam.tiltangle = 0;

			addChild(view);
		}

		private function InitObjects():void {
			sky = new Skybox( sky_front_material, sky_left_material, sky_back_material, sky_right_material, sky_up_material, sky_down_material );
			sky.quarterFaces();
			view.scene.addChild(sky);
		}

		private function InitMaterials():void {
			sky_front_material = new BitmapMaterial(Cast.bitmap(SkyFront));
			sky_back_material = new BitmapMaterial(Cast.bitmap(SkyBack));
			sky_left_material = new BitmapMaterial(Cast.bitmap(SkyLeft));
			sky_up_material = new BitmapMaterial(Cast.bitmap(SkyTop));
			sky_right_material = new BitmapMaterial(Cast.bitmap(SkyRight));
		}

		private function InitListeners():void {
			addEventListener(Event.ENTER_FRAME, EnterFrame);
			stage.addEventListener(MouseEvent.MOUSE_DOWN, MouseDown);
			stage.addEventListener(MouseEvent.MOUSE_UP, MouseUp);
			stage.addEventListener(Event.RESIZE, Resize);
		}

		private function EnterFrame(evt:Event):void {
			if (move) {
				cam.targetpanangle = 0.3 * (stage.mouseX - lastMouseX) + lastPanAngle;
				cam.targettiltangle = 0.3 * (stage.mouseY - lastMouseY) + lastTiltAngle;
			}
			cam.hover();
			view.render();
		}

		private function MouseDown(evt:MouseEvent):void {
			lastPanAngle = cam.panangle;
			lastTiltAngle = cam.tiltangle;
			lastMouseX = stage.mouseX;
			lastMouseY = stage.mouseY;
			move = true;
			stage.addEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function MouseUp(evt:MouseEvent):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function onStageMouseLeave(evt:Event):void {
			move = false;
			stage.removeEventListener(Event.MOUSE_LEAVE, onStageMouseLeave);
		}

		private function Resize(evt:Event):void {
			view.x = stage.stageWidth / 3;
			view.y = stage.stageHeight / 3;
		}
	}

}</pre>
<p>Now,I personally think skyboxes are a good piece of knowledge to have, as they provide, in my opinion, an effective and fairly easy way to get a fairly natural looking environment quickly. Once you have a skybox in place, you can concentrate on the more important objects, and not making the surrounding environment look good.</p>
<p>There is also another way of creating sky-boxes and this is using the <a href="http://away3d.com/offlinedocs/Away3DAPIReferenceV2.1.html#Class-Skybox6" target="_blank">Skybox6 class</a>. This differs from the original method as instead of having six separate images, you have all your graphic in one jpg (png, or whatever).</p>
<p>I will also be trying to post versions of the examples in Papervision3d. This gives me a good understanding of how the engines differ, which ones I prefer and how they work.</p>
<p>You can download the whole thing (images as well!) here: <a href="http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/A3DSkyBox.zip</a></p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/28/away3d-skyboxes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cool Away3D Example.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 23:13:01 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=202</guid>
		<description><![CDATA[I just found this example over at Away3d.org and I have to say it is the best one yet! Here&#8217;s the link: http://www.closier.nl/playground/railaway_express.html. This is a new demo/game to show of Away3D 2.2 new features!! Enjoy, and good night. Harry]]></description>
			<content:encoded><![CDATA[<p>I just found this example over at Away3d.org and I have to say it is the best one yet!</p>
<p>Here&#8217;s the link: <a href="http://www.closier.nl/playground/railaway_express.html" target="_blank">http://www.closier.nl/playground/railaway_express.html</a>. This is a new demo/game to show of Away3D 2.2 new features!!</p>
<p>Enjoy, and good night.</p>
<p>Harry</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/27/cool-away3d-example/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Artistic Flash.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 16:33:07 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=198</guid>
		<description><![CDATA[I have just spent the last day or so polishing up on my generative art in flash. This basically means creating random motion using TweenLite or/and Away3d. Here are some sceen shots of what I am talking about: (Just click &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent the last day or so polishing up on my generative art in flash. This basically means creating random motion using <a href="http://blog.greensock.com/tweenliteas3/" target="_blank">TweenLite</a> or/and <a href="http://www.away3d.org" target="_blank">Away3d</a>.</p>
<p>Here are some sceen shots of what I am talking about:</p>
<p><a href="http://www.harrynorthover.com/files/flash/RandomSquares.swf" target="_blank"><img class="alignnone size-full wp-image-199" title="Organic animation using TweenLite" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/tweenliteorganic.png" alt="" width="341" height="97" /></a></p>
<p><a href="http://www.harrynorthover.com/files/flash/3DOrganic.swf" target="_blank"><img class="alignnone size-full wp-image-200" title="Organic 3D" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3dorganic.png" alt="" width="341" height="97" /></a></p>
<p><em>(Just click on the images to view them <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</em></p>
<p>These were made using a combination of TweenLite, Away3D and general brilliance <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . The first one actually uses no 3d, and I made the second one to see how easily it would be the get the same (or close to) result, but in 3D space.</p>
<p>Here is the code for the first one, just past it in the first frame.</p>
<pre lang="actionscript3">import gs.TweenFilterLite;
import gs.easing.Expo;

var Blur:BlurFilter = new BlurFilter(100, 100, 3);
var BMBlur:BlurFilter = new BlurFilter(20, 20, 3);

var bmd:BitmapData = new BitmapData(550, 400, true, 0x000000);
var bm:Bitmap = new Bitmap(bmd);
addChild(bm);

var currentSquare:Box = new Box();
currentSquare.filters = [Blur];
addChild(currentSquare);

function mover_single():void {
	TweenFilterLite.to(currentSquare, .5,  {   x:Math.random() * 550,
						   y:Math.random() * 400,
						   ease:Expo.easeInOut,
						   alpha:100/*Math.random() * 1*/,
						   blurFilter:{blurX:Math.random() * 0,
						   blurY:Math.random() * 50},
						   tint:Math.round( Math.random()*0xFFFFFF ),
						   onComplete:mover_single });
}

mover_single();

addEventListener(Event.ENTER_FRAME, EnterFrame);

function EnterFrame(evt:Event):void {
		bmd.draw(this);
		bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), BMBlur);
		bmd.scroll(5, 0);
		//trace(getChildAt(1));
}</pre>
<p>And the second:</p>
<pre lang="actionscript3">package {

	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.primitives.Cube;
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.filters.BlurFilter;
	import flash.geom.Point;

	import gs.TweenLite;
	import gs.easing.Expo;

	public class Organic extends MovieClip {

		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { scene:scene, x:0, y:0 } );

		public var square:Cube;

		public var bmd:BitmapData = new BitmapData(stage.stageWidth, stage.stageHeight, true, 0x000000);
		public var bm:Bitmap = new Bitmap(bmd);

		public var BMBlur:BlurFilter = new BlurFilter(10, 0, 3);
		public var Blur:BlurFilter = new BlurFilter(5, 5, 3);

		public function Organic():void {
			addEventListener(Event.ADDED_TO_STAGE, Init);
			addEventListener(Event.ENTER_FRAME, EnterFrame);
		}

		private function Init(evt:Event):void {

			addChild(view);
			addChild(bm);

			view.camera.zoom = 1.5;

			square = new Cube( { height:200, width:200, material:"red#black" } );
			square.filters = [Blur];
			view.scene.addChild(square);

			Mover(); // This animates the box and then renders it/
		}

		private function Mover():void {
			TweenLite.to(square, .5, { x:Math.random() * -5550,
						   y:Math.random() * -5400,
						   z:Math.random() * 200,
						   ease:Expo.easeInOut,
						   onComplete:Mover,
						   alpha:Math.random() * 1,
						   rotationX:Math.random() * 360,
						   rotationY:Math.random() * 360,
						   height: Math.random() * 1000,
						   width: Math.random() * 1000 } );
			view.render();
		}

		private function EnterFrame(evt:Event):void {
			bmd.draw(this);
			bmd.applyFilter(bmd, bmd.rect, new Point(0, 0), BMBlur);
			bmd.scroll(5, 0);

			view.render();
		}
	}
}</pre>
<p>So there you go. Here are the links to download the whole package:</p>
<ul>
<li>The First one: <a href="http://harry-northover-code-store.googlecode.com/files/Random%20Squares.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/Random%20Squares.zip</a></li>
<li>The Second one: <a href="http://harry-northover-code-store.googlecode.com/files/3D%20Organic.zip" target="_blank">http://harry-northover-code-store.googlecode.com/files/3D%20Organic.zip</a></li>
</ul>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/27/artistic-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some more Away3D :)</title>
		<link>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 21:14:29 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=192</guid>
		<description><![CDATA[I have just spent the last hour or so playing with Away3d (again ), and have just made this among other things. It is a sort of implementation of a particle system, but as I am still fairly rough around &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent the last hour or so playing with Away3d (again <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ), and have just made this among other things. It is a sort of implementation of a particle system, but as I am still fairly rough around the edges with Away3D, its probably not the best.</p>
<ol>
<li>For a start, I am a bit confused with the maths side of things. For example getting the most out of the view-ports and how to get the cameras in the right position. So this caused me that problem of all the dots being in the bottom <span style="text-decoration: line-through;">left</span> right corner. <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </li>
<li>When you go close up to the dots, some of them seem stretched.</li>
<li>Any ideas?</li>
</ol>
<p>Here&#8217;s a snap shot:</p>
<p><a href="http://www.harrynorthover.com/files/flash/3DParticle.swf" target="_blank"><img class="alignnone size-full wp-image-193" title="3D Particle" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3d-particle.png" alt="" width="461" height="488" /></a></p>
<p>And the code:</p>
<pre lang="actionscript3">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.Scene3D;
	import away3d.containers.View3D;
	import away3d.primitives.Sphere;

	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;

	public class ThreeDParticle extends Sprite {

		public var cam:HoverCamera3D = new HoverCamera3D;
		public var scene:Scene3D = new Scene3D;
		public var view:View3D = new View3D( { x:550, y:400, scene:scene, camera:cam } );
		public var numOfDots:Number = 50;
		public var sphere:Sphere;
		public var cameraSpeed:Number = 0.3; // Approximately same speed as mouse movement.

		public var lastPanAngle:Number;
		public var lastTiltAngle:Number;
		public var lastMouseX:Number;
		public var lastMouseY:Number;
		public var move:Boolean;

		public function ThreeDParticle():void {
			// This is added so you can include this SWF in another.
			this.addEventListener(Event.ADDED_TO_STAGE, Init);
		}

		private function Init(evt:Event):void {
			addChild(view);

			cam.zoom = 1;
			cam.x = 0;
			cam.y = 0;

			for (var i:uint = 0; i &lt;= numOfDots; i++) {
				sphere = new Sphere( { material:"black#red", radius:20, x:Math.random() * 1000, y:Math.random() * 1000, z:Math.random() * 100, segmentsH:10, segmentsW:10 } );
				view.scene.addChild(sphere);
			}
			this.addEventListener(Event.ENTER_FRAME, enterFrame);
			this.stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
			this.stage.addEventListener(MouseEvent.MOUSE_UP, mouseLeave);

			view.render();
		}

		private function enterFrame(evt:Event):void {
			if (move) {
				cam.targetpanangle = cameraSpeed * (this.stage.mouseX - lastMouseX) + lastPanAngle;
				cam.targettiltangle = cameraSpeed * (this.stage.mouseY - lastMouseY) + lastTiltAngle;
			}

			cam.hover();
			view.render();
		}

		private function mouseDown(evt:MouseEvent):void {

			move = true;
			lastPanAngle = cam.targetpanangle;
			lastTiltAngle = cam.targettiltangle;
			lastMouseX = stage.mouseX;
			lastMouseY = stage.mouseY;

			cam.hover();
			view.render();
		}

		private function mouseLeave(evt:MouseEvent):void {
			move = false;
		}

	}
}</pre>
<p>And here&#8217;s the link to download it all: <a href="http://harry-northover-code-store.googlecode.com/files/3D%20Particle.zip">http://harry-northover-code-store.googlecode.com/files/3D%20Particle.zip</a></p>
<p>Right there you go for tonight!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/25/some-more-away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contributing to the community.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/25/contributing-to-the-community/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/25/contributing-to-the-community/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 15:48:22 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=188</guid>
		<description><![CDATA[Over the past six months to a year, I have been saying to myself I must use my skills to earn a little of extra cash. When I say this, I mean by contributing to sites like FlashDen.net and Ultrashock, &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/25/contributing-to-the-community/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="FlashDen" src="http://toolfarm.com/tuts/images/thumbs/flashden.png" alt="" width="200" height="150" /></p>
<p>Over the past six months to a year, I have been saying to myself I must use my skills to earn a little of extra cash.</p>
<p>When I say this, I mean by contributing to sites like <a href="http://www.flashden.net" target="_blank">FlashDen.net</a> and <a href="http://www.ultrashock.com/" target="_blank">Ultrashock</a>, with things like creative templates. Now, the trouble is that I get bored while making these templates. The reason is because with a template, you cant be as creative as you would be working on an individual project.</p>
<p>This is the part I strugle with. When I work on a project I like to be creative, cut lose, go out at try anything and everything. With a template, you can do this to an extent, but you have to make it so that it is appealing to a wide range of people.</p>
<p>I thought this might be worthy of a post because it would be interesting to see if anyone suffers from this inability to be boring <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>In the future, I hope to be creating some stuff, so now I have mentioned it on my site, it will be an incentive to start, and finish (!) working on a template!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/25/contributing-to-the-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Cs4</title>
		<link>http://www.harrynorthover.com/blog/2008/09/23/adobe-cs4/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/23/adobe-cs4/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 10:10:14 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CS4]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=181</guid>
		<description><![CDATA[I have just been watching the Creative Suite 4 launch event. I have to say that it looks absolutly bloody brilliant!! You can read more about the new release here: http://www.adobe.com/products/creativesuite/. My favorite feature must be the new animaton model &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/23/adobe-cs4/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just been watching the Creative Suite 4 launch event. I have to say that it looks absolutly bloody brilliant!!</p>
<p><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/cs4.jpg" rel="lightbox[181]"><img class="alignnone size-medium wp-image-182" title="Creative Suite 4" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/cs4-300x216.jpg" alt="" width="300" height="216" /></a></p>
<p>You can read more about the new release here: <a href="http://www.adobe.com/products/creativesuite/" target="_blank">http://www.adobe.com/products/creativesuite/</a>.</p>
<p>My favorite feature must be the new animaton model in Flash. Also, the ability to add a skeleton to 2D graphics. It is just great, but there is too much for me to tell you about, so head over and read all about it!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/23/adobe-cs4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Harry Northover &#8211; 2008 &#8211; Portfolio Update.</title>
		<link>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 17:24:52 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=176</guid>
		<description><![CDATA[I have just been working a my portfolio for the last day or two and have come up with what I think is the final design. You can view it here: http://www.harrynorthover.com/beta/v2 Once you have views it, you may be &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just been working a my portfolio for the last day or two and have come up with what I think is the final design. You can view it here: http://www.harrynorthover.com/beta/v2</p>
<p>Once you have views it, you may be thinking, where is the 3D? Well, what I am planning to have is a 3D World inside the gray box. This means that you will be able to fly round and explore this 3d world, and along the way be able to view information about me and my projects. I am having a bit of trouble with this at the moment (see more <a href="http://www.gotoandlearnforum.com/viewtopic.php?f=29&amp;t=20479" target="_blank">here</a>).</p>
<p><strong>Other Designs:</strong></p>
<p>Other designs I have come up with, but haven&#8217;t been used will be posted soon. This is because they may inspire you to do something with them? Here is the second most favorite design I came up with:</p>
<div id="attachment_177" class="wp-caption alignnone" style="width: 392px"><a href="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/sceenshot.jpg" rel="lightbox[176]"><img class="size-full wp-image-177" title="An Early Design" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/sceenshot.jpg" alt="An Early Design" width="382" height="116" /></a><p class="wp-caption-text">An Early Design</p></div>
<p>So I hope you like it, and as usual all comments are welcome!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/22/harry-northover-2008-portfolio-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Away3D</title>
		<link>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/#comments</comments>
		<pubDate>Sat, 13 Sep 2008 19:55:02 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Away3D]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=153</guid>
		<description><![CDATA[I have just spent a couple of hours last night getting to grips with Away3D. I just created a little demo that creates a few spheres and then adds an ENTER_FRAME event listener and responds to mouse movement. You can &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just spent a couple of hours last night getting to grips with Away3D. I just created a little demo that creates a few spheres and then adds an ENTER_FRAME event listener and responds to mouse movement.</p>
<p>You can download the whole thing here: <a href="http://harry-northover-code-store.googlecode.com/files/Away3DBasics.zip" target="_self">http://harry-northover-code-store.googlecode.com/files/Away3DBasics.zip</a></p>
<p>Here is a screene:</p>
<p><a href="http://www.harrynorthover.com/files/flash/Away3DBasics.swf" target="_blank"><img class="alignnone size-full wp-image-157" title="Away3D Basics" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/3d-screen1.jpg" alt="" width="461" height="546" /></a></p>
<p>And here&#8217;s the code:</p>
<pre lang="actionscript3" line="1">package {

	import away3d.cameras.HoverCamera3D;
	import away3d.containers.View3D;
	import away3d.primitives.Sphere;

	import flash.events.MouseEvent;
	import flash.display.Sprite;
	import flash.events.Event;

	import caurina.transitions.Tweener;

	public class Away3DBasics extends Sprite {

		public var stageHeightCenter:uint = stage.stageHeight / 2 - 100;
		public var stageWidthCenter:uint = stage.stageWidth / 2 + 100; 

		public var cam:HoverCamera3D = new HoverCamera3D( { zoom:1, focus:200 } );
		public var view:View3D = new View3D( { x:stageWidthCenter, y:stageHeightCenter, camera:cam } );

		public function Away3DBasics() {

			cam.steps = 16;

			// Add the view to the stage.
			addChild(view);

			// Create 20 spheres.
			for (var i:uint = 0; i &lt;= 20; i++)
			{
				var sphere:Sphere = new Sphere();
				sphere.invertFaces();
				sphere.x = Math.random() * 1000;
				sphere.y = Math.random() * 1000;
				sphere.z = Math.random() * 600;
				sphere.rotationX = Math.random() * 360;
				sphere.rotationY = Math.random() * 360;
				view.scene.addChild(sphere);
			}

			// Add Event listeners.
			this.addEventListener(Event.ENTER_FRAME, onRun);

			// Render the scene...
			cam.hover();
			view.render();

		}

		// This is the code for the ENTER_FRAME event.
		private function onRun(evt:Event):void {
			cam.rotationX = Math.random() * 360;
			cam.rotationY = Math.random() * 360;
			cam.rotationZ = Math.random() * 360;
			cam.pan(Math.random() * 360);
			Tweener.addTween(cam, { zoom: (stage.mouseY / stage.stageHeight) * 4 + 0.5, time:0.1, transition:"easeInOutExpo" } );
			cam.hover();
			view.render();
		}
	}
}</pre>
<p>There you go! I will be doing a lot more stuff with Away3D so keep an eye out!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/13/playing-with-away3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Particle System</title>
		<link>http://www.harrynorthover.com/blog/2008/09/03/particle-system/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/03/particle-system/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 23:02:16 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Experimental]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript 3]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=143</guid>
		<description><![CDATA[I have just started playing around with artistic art in Flash. I started off playing with particles, so here you go. I developed a simple Particle class, and here is how to implement it. To download the class: http://harry-northover-code-store.googlecode.com/files/Particle.zip To &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/03/particle-system/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just started playing around with artistic art in Flash. I started off playing with particles, so here you go. I developed a simple Particle class, and here is how to implement it.</p>
<p>To download the class: <a href="http://harry-northover-code-store.googlecode.com/files/Particle.zip" target="_self">http://harry-northover-code-store.googlecode.com/files/Particle.zip</a></p>
<p>To download the demo: <a href="http://harry-northover-code-store.googlecode.com/files/Demo.zip" target="_self">http://harry-northover-code-store.googlecode.com/files/Demo.zip</a></p>
<p>Here is a screene:</p>
<p><a href="http://www.harrynorthover.com/files/flash/ParticleTest.swf" target="_blank"><img class="alignnone size-full wp-image-144" title="Particle System Demo" src="http://www.harrynorthover.com/blog/wp-content/uploads/2008/09/particle.jpg" alt="" width="457" height="371" /></a></p>
<p>Here&#8217;s the code:</p>
<pre lang="actionscript3" line="1">package {

	import com.harrynorthover.particle.Particle;
	import flash.events.Event;
	import flash.display.Sprite;

	public class ParticleTest extends Sprite {

		private var emmiterX:Number = stage.stageWidth / 2;
		private var emmiterY:Number = stage.stageHeight / 2;

		public function ParticleTest() {
			stage.addEventListener(Event.ENTER_FRAME, onLoop, false, 0, true);
		}

		private function onLoop(evt:Event) {
			var p:Particle = new Particle(emmiterX, emmiterY, Math.random() * 11 - 6, Math.random() * -20, 1, Math.random() * 0xFFFFFF, 50, true);
			addChild(p);
		}

	}
}</pre>
<p>To get this working, all you need to do is create a MovieClip with a linkage ID of &#8216;Ball&#8217;, and you should be ready to go.</p>
<p>So there you are! If anyone would like me to explain the code, feel free to contact me.</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/03/particle-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe will announce CS4 on September 23rd!</title>
		<link>http://www.harrynorthover.com/blog/2008/09/03/135/</link>
		<comments>http://www.harrynorthover.com/blog/2008/09/03/135/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 22:30:18 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[CS4]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=135</guid>
		<description><![CDATA[Adobe CS4 will be offical announced on September 23rd. How exciting with this! There is a special web broadcast that you can register for, so if you are intrested in this (you&#8217;d be stupid if you weren&#8217;t ), head over &#8230; <a href="http://www.harrynorthover.com/blog/2008/09/03/135/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td><a href="http://adobe.istreamplanet.com/"><img class="alignnone" title="Adobe Creative Suite 4" src="http://www.techshout.com/images/adobe-logo-may08.jpg" alt="" width="215" height="215" /></a></td>
<td valign="top">Adobe CS4 will be offical announced on September 23rd. How exciting with this! There is a <a href="http://adobe.istreamplanet.com/" target="_blank">special web broadcast</a> that you can register for, so if you are intrested in this (you&#8217;d be stupid if you weren&#8217;t <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), <a href="http://adobe.istreamplanet.com/" target="_blank">head over here</a> and register for it!</p>
<p>I have just found this out from <a href="http://theflashblog.com/?p=431" target="_blank">The Flash Blog</a>.</p>
<p>Enjoy on the 23rd!</p>
<p>Harry.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/09/03/135/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Portfolio. Work is happening!</title>
		<link>http://www.harrynorthover.com/blog/2008/08/25/my-portfolio-work-is-happening/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/25/my-portfolio-work-is-happening/#comments</comments>
		<pubDate>Mon, 25 Aug 2008 20:29:29 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Portfolio]]></category>

		<guid isPermaLink="false">http://www.harrynorthover.com/blog/?p=94</guid>
		<description><![CDATA[Well, over the past week, week and a half, I have been working on the portfolio section. As you may have noticed, I have dropped the home section. This was for quite a few reasons, let me explain: When build &#8230; <a href="http://www.harrynorthover.com/blog/2008/08/25/my-portfolio-work-is-happening/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, over the past week, week and a half, I have been working on the portfolio section. As you may have noticed, I have dropped the home section. This was for quite a few reasons, let me explain:</p>
<p>When build my portfolio, I planned the whole thing out using these questions:</p>
<ol>
<li>What story is the site trying to tell?</li>
<li>What will my viewers what to see at the site?</li>
<li>What content does the site need, to fulfill these questions?</li>
</ol>
<p>So, now you know the bare minim of my design process, here are the answers I came up with:</p>
<ol>
<li>I am trying to tell the story of how much I love what I do.</li>
<li>My viewers want to see my work, and what makes me, me <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</li>
<li>The content that is needed, is my work, and something to tell the users who I am?</li>
</ol>
<p>So there you go. Now you can see that there was no need for a home section. What useful information could I of displayed on it? My latest project, but why? For this, they can just visit my portfolio? A quick description about me? Why not read the full thing over at my about section? You may be thinking that all this could of been place in a home section just for ease of use, maybe to get the user interested in what the site has to offer. This is not relevant for a portfolio. If it was a news site, or a company site, then yes, this could be used to get the end user interested in what the site has to offer. For a portfolio, the chances are, the user has come to this site to view my work, or to read about me? So they are not going to need additional work into making them view my portfolio, or read about me.</p>
<p>Another question here is, well what else would make then interested into view my work? The site it&#8217;s self. If you place the user into an engaging and satisfying experience, they will want to carry on and view the rest. This is basically my design process for a site!</p>
<p>_</p>
<p>So that is the design side of things over with, now lets get onto what I have done so far. Well,</p>
<ol>
<li>1. Have almost finished the main menu (Just a few things I&#8217;m not quite sure about&#8230;).</li>
<li>2. Set up the external SWF loading, and all the stuff needed to load the appropriate sections in. The text you see when you click on the portfolio section and about is all in an external SWF.</li>
<li>3. I am working on the portfolio sections. For early previews keep checking the beta link, as I will be uploading them soon.</li>
<li>4. I have started sorting out all the database stuff, etc. This is all going to be loaded using AMFPHP/MySQL/PHP.</li>
</ol>
<p>So there you have it , a very in-depth look into my portfolio!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/25/my-portfolio-work-is-happening/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hantsweb Awards 2008.</title>
		<link>http://www.harrynorthover.com/blog/2008/08/22/hantsweb-awards-2008/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/22/hantsweb-awards-2008/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 21:30:14 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://harrynorthover.co.uk/blog/?p=104</guid>
		<description><![CDATA[[/caption] My web site has just been nominated for a Hantsweb Award. You can see the list of nominated sites here: http://www3.hants.gov.uk/hantswebawards/its-hantswebawards-nominatedwebsites08.htm?category=12 Harry.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 231px"><p class="wp-caption-text">Hantsweb Awards.</p></div>[/caption]
<p>My web site has just been nominated for a Hantsweb Award. You can see the list of nominated sites here: <!--[if gte mso 9]><xml> <w :WordDocument> </w><w :View>Normal</w> <w :Zoom>0</w> <w :TrackMoves /> <w :TrackFormatting /> <w :PunctuationKerning /> <w :ValidateAgainstSchemas /> <w :SaveIfXMLInvalid>false</w> <w :IgnoreMixedContent>false</w> <w :AlwaysShowPlaceholderText>false</w> <w :DoNotPromoteQF /> <w :LidThemeOther>EN-US</w> <w :LidThemeAsian>X-NONE</w> <w :LidThemeComplexScript>X-NONE</w> <w :Compatibility> <w :BreakWrappedTables /> <w :SnapToGridInCell /> <w :WrapTextWithPunct /> <w :UseAsianBreakRules /> <w :DontGrowAutofit /> <w :SplitPgBreakAndParaMark /> <w :DontVertAlignCellWithSp /> <w :DontBreakConstrainedForcedTables /> <w :DontVertAlignInTxbx /> <w :Word11KerningPairs /> <w :CachedColBalance /> </w> <w :BrowserLevel>MicrosoftInternetExplorer4</w> <m :mathPr> <m :mathFont m:val="Cambria Math" /> <m :brkBin m:val="before" /> <m :brkBinSub m:val="&#45;-" /> <m :smallFrac m:val="off" /> <m :dispDef /> <m :lMargin m:val="0" /> <m :rMargin m:val="0" /> <m :defJc m:val="centerGroup" /> <m :wrapIndent m:val="1440" /> <m :intLim m:val="subSup" /> <m :naryLim m:val="undOvr" /> </m> </xml>< ![endif]--><!--[if gte mso 9]><xml> <w :LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"   DefSemiHidden="true" DefQFormat="false" DefPriority="99"   LatentStyleCount="267"> <w :LsdException Locked="false" Priority="0" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Normal" /> <w :LsdException Locked="false" Priority="9" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="heading 1" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8" /> <w :LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9" /> <w :LsdException Locked="false" Priority="39" Name="toc 1" /> <w :LsdException Locked="false" Priority="39" Name="toc 2" /> <w :LsdException Locked="false" Priority="39" Name="toc 3" /> <w :LsdException Locked="false" Priority="39" Name="toc 4" /> <w :LsdException Locked="false" Priority="39" Name="toc 5" /> <w :LsdException Locked="false" Priority="39" Name="toc 6" /> <w :LsdException Locked="false" Priority="39" Name="toc 7" /> <w :LsdException Locked="false" Priority="39" Name="toc 8" /> <w :LsdException Locked="false" Priority="39" Name="toc 9" /> <w :LsdException Locked="false" Priority="35" QFormat="true" Name="caption" /> <w :LsdException Locked="false" Priority="10" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Title" /> <w :LsdException Locked="false" Priority="1" Name="Default Paragraph Font" /> <w :LsdException Locked="false" Priority="11" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtitle" /> <w :LsdException Locked="false" Priority="22" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Strong" /> <w :LsdException Locked="false" Priority="20" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Emphasis" /> <w :LsdException Locked="false" Priority="59" SemiHidden="false"    UnhideWhenUsed="false" Name="Table Grid" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text" /> <w :LsdException Locked="false" Priority="1" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="No Spacing" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 1" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 1" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 1" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 1" /> <w :LsdException Locked="false" UnhideWhenUsed="false" Name="Revision" /> <w :LsdException Locked="false" Priority="34" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="List Paragraph" /> <w :LsdException Locked="false" Priority="29" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Quote" /> <w :LsdException Locked="false" Priority="30" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Quote" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 1" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 1" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 1" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 1" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 1" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 2" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 2" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 2" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWh<br />
enUsed="false" Name="Medium Shading 2 Accent 2" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 2" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 2" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 2" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 2" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 2" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 2" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 3" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 3" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 3" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 3" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 3" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 3" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 3" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 3" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 3" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 4" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 4" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 4" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 4" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 4" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 4" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 4" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 4" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 4" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 5" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 5" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 5" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 5" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 5" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 5" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 5" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 5" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 5" /> <w :LsdException Locked="false" Priority="60" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Shading Accent 6" /> <w :LsdException Locked="false" Priority="61" SemiHidden="false"    UnhideWhenUsed="false" Name="Light List Accent 6" /> <w :LsdException Locked="false" Priority="62" SemiHidden="false"    UnhideWhenUsed="false" Name="Light Grid Accent 6" /> <w :LsdException Locked="false" Priority="63" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6" /> <w :LsdException Locked="false" Priority="64" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6" /> <w :LsdException Locked="false" Priority="65" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 1 Accent 6" /> <w :LsdException Locked="false" Priority="66" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium List 2 Accent 6" /> <w :LsdException Locked="false" Priority="67" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6" /> <w :LsdException Locked="false" Priority="68" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6" /> <w :LsdException Locked="false" Priority="69" SemiHidden="false"    UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6" /> <w :LsdException Locked="false" Priority="70" SemiHidden="false"    UnhideWhenUsed="false" Name="Dark List Accent 6" /> <w :LsdException Locked="false" Priority="71" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Shading Accent 6" /> <w :LsdException Locked="false" Priority="72" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful List Accent 6" /> <w :LsdException Locked="false" Priority="73" SemiHidden="false"    UnhideWhenUsed="false" Name="Colorful Grid Accent 6" /> <w :LsdException Locked="false" Priority="19" SemiHidden="false"    UnhideWhenUsed="f<br />
alse" QFormat="true" Name="Subtle Emphasis" /> <w :LsdException Locked="false" Priority="21" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis" /> <w :LsdException Locked="false" Priority="31" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference" /> <w :LsdException Locked="false" Priority="32" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Intense Reference" /> <w :LsdException Locked="false" Priority="33" SemiHidden="false"    UnhideWhenUsed="false" QFormat="true" Name="Book Title" /> <w :LsdException Locked="false" Priority="37" Name="Bibliography" /> <w :LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading" /> </w> </xml>< ![endif]--><a href="http://www3.hants.gov.uk/hantswebawards/its-hantswebawards-nominatedwebsites08.htm?category=12" target="_blank"><span style="font-family: &quot;Comic Sans MS&quot;;">http://www3.hants.gov.uk/hantswebawards/its-hantswebawards-nominatedwebsites08.htm?category=12</span></a></p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/22/hantsweb-awards-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FWA Book &#8211; Guidelines for Online Success!</title>
		<link>http://www.harrynorthover.com/blog/2008/08/21/fwa-book-guidelines-for-online-success/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/21/fwa-book-guidelines-for-online-success/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 10:26:40 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Random]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://harrynorthover.co.uk/blog/?p=93</guid>
		<description><![CDATA[I have just received my copy of &#8216;Guidelines for Online Success&#8217;, the first FWA book to be published. I must say, what a great book! It has 6 sections, each targeting a specific aspect of the web. These are: Interface &#8230; <a href="http://www.harrynorthover.com/blog/2008/08/21/fwa-book-guidelines-for-online-success/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" title="FWA" src="http://www.plat4m.com/wp-content/uploads/2008/09/guidelines.jpg" alt="Guidelines for Online Success" width="612" height="407" /></p>
<p>I have just received my copy of <a href="http://www.taschen.com/pages/en/catalogue/design/all/05204/facts.guidelines_for_online_success.htm" target="_blank">&#8216;Guidelines for Online Success&#8217;</a>, the first FWA book to be published. I must say, what a great book!</p>
<p>It has 6 sections, each targeting a specific aspect of the web. These are:</p>
<ul>
<li>Interface &amp; Design &#8211; <a href="http://www.bigspaceship.com" target="_blank"><em>Michael Lebowitz</em></a>.</li>
<li>Marketing and Communication -<em> <a href="http://www.wefail.com" target="_blank">Martin Hughes and Jordan Stone</a></em>.</li>
<li>Technology &amp; Programming &#8211; <em><a href="http://www.2advanced.com" target="_blank">Eric Jordan</a>.</em></li>
<li>Technical Advice &#8211; <em><a href="http://www.group94.com" target="_blank">Pascal Leroy</a>.</em></li>
<li>Content / Content Management &#8211; <em><a href="http://www.f-i.com" target="_blank">David Huge Martin</a>.</em></li>
<li>E-Commerce &#8211; <em><a href="http://freedominteractivedesign.com" target="_blank">Mark Ferdman</a>.</em></li>
</ul>
<p>So far, I have read the Technology &amp; Programming section and Interface &amp; Design! These sections were really informative, and this book is great read for anyone who wants to stand out from the crowd!</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/21/fwa-book-guidelines-for-online-success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What to use?</title>
		<link>http://www.harrynorthover.com/blog/2008/08/16/what-to-use/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/16/what-to-use/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 18:09:18 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://harrynorthover.co.uk/blog/?p=69</guid>
		<description><![CDATA[Well, over the past few years, the web has changed drastically, and I thought it would be the time to post my views on it all 1. AIR This is the most noticeable development in the web, and is also &#8230; <a href="http://www.harrynorthover.com/blog/2008/08/16/what-to-use/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Well, over the past few years, the web has changed drastically, and I thought it would be the time to post my views on it all <img src='http://www.harrynorthover.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>1. AIR</strong></p>
<table border="0">
<tbody>
<tr>
<td>
<div class="wp-caption alignnone" style="width: 408px"><img title="Adobe AIR" src="http://codemoiunmouton.files.wordpress.com/2007/11/air_logo_new.jpg" alt="Adobe AIR" width="398" height="210" /><p class="wp-caption-text">Adobe AIR</p></div></td>
<td></td>
</tr>
</tbody>
</table>
<p>This is the most noticeable development in the web, and is also the most useful! As most of you know, AIR enables you to take web applications to the desktop, with unimaginable ease. The best thing about AIR, is that you can use your existing skills, to create the applications. Also, due to the AIR run-time, it is cross platform. Now this combined with the use of tradition web languages (HTML, AS, JavaScript, etc&#8230;), opens up a huge mark, never touched upon by web developers. The power of this is still to be put to it&#8217;s full potential.</p>
<p>For example, you could just launch a desktop app to do your shopping, instead of launching the browser, log-in in, then waiting for the browser to refresh as you add whatever you need to your cart. All this could be done without one page refresh, no long loading times etc. This would make doing your weakly shopping much easier and less of a pain in the arse.</p>
<p>Here are some links to get you started:</p>
<dl class="wp-caption alignnone" style="width: 222px;">
<dt class="wp-caption-dt"> </dt>
</dl>
<blockquote>
<ul>
<li><a href="http://www.gotoandlearn.com/play?id=41" target="_blank">Gotoandlearn() &#8211; Getting started with AIR.</a> <em>Lee Brimelow</em><a href="http://www.gotoandlearn.com/play?id=41" target="_blank"><br />
</a></li>
<li><a href="http://www.mikechambers.com/blog/2008/08/11/getting-started-with-adobe-air-on-linux-video/" target="_blank">Getting started with AIR on Linux.</a> <em>Mike Chambers</em></li>
<li><a href="http://www.adobeairtutorials.com/" target="_blank">Adobeairtutorials.com.</a></li>
<li><a href="http://www.jasonbartholme.com/101-adobe-air-resources-to-add-to-your-toolbelt-of-awesomeness/" target="_blank">101 AIR Resources.</a></li>
</ul>
</blockquote>
<p><strong>2. Flex / Flash</strong></p>
<table border="0">
<tbody>
<tr>
<td>
<p><div class="wp-caption alignnone" style="width: 191px"><img title="Adobe Flash CS3" src="http://www.adobe.com/devnet/images/160x160/flash_cs3_logo.jpg" alt="Adobe Flash CS3" width="181" height="181" /> </dt>
<dt class="wp-caption-dt"> <p class="wp-caption-text">Adobe Flash CS3</p></div></td>
<td>
<dl class="wp-caption alignnone" style="width: 182px;">
<dt class="wp-caption-dt"><img title="Flex 3" src="http://work.whoischarles.com/files/images/flex_logo.png" alt="Flex 3" width="172" height="172" /></dt>
<p>Adobe Flex 3</p>
<dt class="wp-caption-dt"> </dt>
</dl>
</td>
</tr>
</tbody>
</table>
<p>Now, these technologies are a lot more mature than AIR. Flex is on version 3 and Flash is almost at version 10. Nearly, if not all animation and creative sites are made using Flash technologies. The same thing using other technologies would take 10x as much work, and also when using Flash you have a universal platform. This means that Flash designers/developers can kick browser compatibility out the window.</p>
<p>With Flash, not only can it be a great tool to create with, but also a great tool to provide inspiration with. Now you may be thing that you can gain inspiration from anything. Now this is very true. For example, is it as easy to gain inspiration to get into web dev but looking at a PHP script, or looking at a cool animation done in Flash? Now the whole reason I go into the web, was because of Flash. I remember thinking how cool it would be to creating experiences like that, and even better, show them to the whole world!</p>
<p>Alternatively, you could use Flex, which is based on the Flash platform, for creating RIA (<strong>R</strong>ich <strong>I</strong>nternet <strong>A</strong>pplications). Flex is split into two parts, the Flex framework. This provides all the components, etc, that you build Flex applications with, then there is Flex Builder. This is a Flex IDE built on Eclipse. Flex Builder (now at version 3) is very good for getting the best out of Flex. It combines a visual GUI designer and a code view.</p>
<p>Flex was originally designed to be used by tradition coders and not designers, but now is evolving the same way Flash did, catering for designers and developers. Although Flex, I think it will always be more for coders than designers.</p>
<p>Now, if you combine Flex and Flash, you get a functional RIA but with a very fancy GUI. A lot of  was done in Flash, and the back end could be developed in Flex. This means that the traditional web app, will become a lot more interesting, but not lose any of its functionality.</p>
<p>Tutorial Links:</p>
<blockquote>
<ul>
<li><a href="http://www.gotoandlearn.com" target="_blank">Gotoandlearn() &#8211; Great all round Flash tutorials.</a></li>
<li><a href="http://www.kirupa.com" target="_blank">Kirupa &#8211; Tutorials on everything!</a></li>
<li><a href="http://www.flashperfection.com/" target="_blank">Flash Perfection.</a></li>
<li><a href="http://www.flex.org" target="_blank">Flex.org &#8211; The heart of Flex.</a></li>
<li><a href="http://www.adobe.com/devnet/flex/" target="_blank">Adobe Flex Developer Center.</a></li>
</ul>
</blockquote>
<p><strong>3. HTML / Javascript / Ajax</strong></p>
<p><div class="wp-caption alignnone" style="width: 484px"><img title="Ajax" src="http://josegjimenez.files.wordpress.com/2008/04/ajax-logo.jpg" alt="Ajax" width="474" height="236" /><p class="wp-caption-text">Ajax</p></div>
<p>Now onto the most tradition web technologies. These have been used since the early days of the web (apart for AJAX). The backbone of the web is HTML. This, in it&#8217;s self, cannot do much. This is where Javascript and other languages come in. These can be combined with HTML to provide much more functionality. This could be animation using something like Moo Tools, or a CMS using PHP/Ajax.</p>
<p>I haven&#8217;t had much experience using these technologies. Flash is my main one, but when I first for into web, I used HTML is extensively and also I got to know PHP.</p>
<p>These different technologies are now being combined with Flash, and each other to provide more complete web sites/apps.</p>
<p>Getting started:</p>
<blockquote>
<ul>
<li><a href="http://www.w3schools.com/" target="_blank">W3Schools.</a></li>
<li><a href="http://www.htmlcodetutorial.com/" target="_blank">HTML Code Tutorial.</a></li>
<li><a href="http://www.htmltutorials.ca/" target="_blank">HTMLTutorials.ca.</a></li>
<li><a href="http://www.pagetutor.com/index.html" target="_blank">Page Tutor.</a></li>
</ul>
</blockquote>
<p><strong>Conclusion:</strong></p>
<p>Well, now you know what the main aspects of some of the main languages. It really depends on what you want to do. If you want to make animations etc, then go for Flash. For RIA , use Flex. If you want to just make anything else, then you could use a combination of these languages, or see which one makes the task you need the easiest.</p>
<p>Harry.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/16/what-to-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Player 10 Release Candidate.</title>
		<link>http://www.harrynorthover.com/blog/2008/08/11/flash-player-10-release-candidate/</link>
		<comments>http://www.harrynorthover.com/blog/2008/08/11/flash-player-10-release-candidate/#comments</comments>
		<pubDate>Mon, 11 Aug 2008 19:59:38 +0000</pubDate>
		<dc:creator>Harry</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://harrynorthover.co.uk/blog/?p=48</guid>
		<description><![CDATA[I have just been browsing the Adobe Labs, and read that Flash Player 10 RC has just been released! Flash Player 10 is a great step forward for Flash as it includes these great new features: 3D Effects &#8211; Easily &#8230; <a href="http://www.harrynorthover.com/blog/2008/08/11/flash-player-10-release-candidate/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have just been browsing the Adobe Labs, and read that Flash Player 10 RC has just been released! Flash Player 10 is a great step forward for Flash as it includes these great new features:</p>
<p><em></em></p>
<blockquote><p><em><strong>3D Effects</strong> &#8211; Easily transform and animate any display object through 3D space while retaining full interactivity.  Fast, lightweight, and native 3D effects make motion that was previously reserved for expert users available to everyone.  Complex effects are simple with APIs that extend what you already know.</em></p>
<p><em><strong>Custom Filters and Effects</strong> &#8211; Create and <a href="http://www.adobe.com/go/pixelbender" target="_blank">share your own</a> portable filters, blend modes, and fills using  <a href="http://www.adobe.com/go/pixelbender_toolkit">Adobe Pixel Bender™</a>, the same technology used for many After Effects CS3 filters. Shaders in Flash Player are about 1KB and can be scripted and animated at runtime.</em></p>
<p><em><strong>Advanced Text Layout</strong> &#8211; A new, highly flexible text layout engine, co-existing with TextField, enables innovation in creating new text controls by providing low-level access to text offering right-to-left and vertical text layout, plus support for typographic elements like ligatures.</em></p>
<p><em><strong>Enhanced Drawing API</strong> &#8211; Runtime drawing is easier and more powerful with re-styleable properties, 3D APIs, and a new way of drawing sophisticated shapes without having to code them line by line.</em></p>
<p><em><strong>Visual Performance Improvements</strong> – Applications and videos will run smoother and faster with expanded use of hardware acceleration.  By moving several visual processing tasks to the video card, the CPU is free to do more.</em></p>
<p><em><strong>Enhanced Sound APIs</strong> – Work with loaded MP3 audio at a lower level in Flash Player 10.  The new APIs will let you do application-level audio mixing through ActionScript and even audio filtering with Adobe Pixel Bender.</em></p></blockquote>
<p>My favorite feature is the new 3D features. Although you can achieve nearly the same using Papervision in Flash CS3, the new features are more integrated into Flash and easier to use!</p>
<p>There is a complete list of features here: <a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#features" target="_blank">http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#features</a>.</p>
<p>If you would like to get started with FP 10, then there are some great tutorials over at gotoandlearn(), here: <a href="http://www.gotoandlearn.com/">http://www.gotoandlearn.com/</a>. These tutorials show you the basic of getting started with FP 10. Although this is very interesting, it would be extreamly stupid to use FP 10 features in your project, as views would have to download this to view your site!</p>
<p>There is also a list of know bugs and fixes here: <a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#known" target="_blank">http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#known</a>. Fixed issues are here: <a href="http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#fixed" target="_blank">http://labs.adobe.com/technologies/flashplayer10/releasenotes.html#fixed</a>.</p>
<p>Harry.</p>
<p><em></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.harrynorthover.com/blog/2008/08/11/flash-player-10-release-candidate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

