  <?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>Chob</title>
	<atom:link href="http://blog.chop.com.au/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.chop.com.au</link>
	<description>Blog of Leon Wilson, a freelance flash developer based in Sydney, Australia.</description>
	<lastBuildDate>Sat, 21 Jan 2012 22:43:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Loop through XML elements using PHP</title>
		<link>http://blog.chop.com.au/2012/01/loop-through-xml-nodes-using-php/</link>
		<comments>http://blog.chop.com.au/2012/01/loop-through-xml-nodes-using-php/#comments</comments>
		<pubDate>Sat, 21 Jan 2012 22:33:57 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[foreach]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1323</guid>
		<description><![CDATA[If you don&#8217;t know the absolute path of an element in your xml file the using xpath and &#8216;//&#8217; acts as a wildcard (similar to &#8216;..&#8217; in as3 i guess) you can run a loop and return all values for those elements. Handy for this likes RSS feeds or KML files ect.]]></description>
			<content:encoded><![CDATA[<p>If you don&#8217;t know the absolute path of an element in your xml file the using xpath and &#8216;//&#8217; acts as a wildcard (similar to &#8216;..&#8217; in as3 i guess) you can run a loop and return all values for those elements.</p>
<p>Handy for this likes RSS feeds or KML files ect.</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php

$xml = simplexml_load_file('my.xml');

	foreach ($xml-&gt;xpath('//xmlnode')  as $node) {
    	echo &quot;\t node: $node &lt;br /&gt;\n&quot;;

	}
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2012/01/loop-through-xml-nodes-using-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3D text intro</title>
		<link>http://blog.chop.com.au/2012/01/3d-text-intro/</link>
		<comments>http://blog.chop.com.au/2012/01/3d-text-intro/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 09:44:57 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[3D]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1311</guid>
		<description><![CDATA[This is an Animation test in Cinema 4D using MoGraph PolyFX and Randomiser. Im also using a shader by Matt Savard to create falloff in the shadow. (http://www.helloluxx.com/tag/distance-falloff/) You can view the clip on YouTube]]></description>
			<content:encoded><![CDATA[<p>This is an Animation test in Cinema 4D using MoGraph PolyFX and Randomiser. Im also using a shader by Matt Savard to create falloff in the shadow. (http://www.helloluxx.com/tag/distance-falloff/)</p>
<p><a href="http://youtu.be/oBg3rHuTCVQ">You can view the clip on YouTube</a></p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/typoart0043.jpg"><img class="alignnone size-large wp-image-1321" title="typoart0043" src="http://blog.chop.com.au/wp-content/uploads/typoart0043-1024x576.jpg" alt="" /></a></p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/typoart_35.png"><img class="alignnone size-large wp-image-1313" title="typoart_35" src="http://blog.chop.com.au/wp-content/uploads/typoart_35-1024x576.png" alt="" /></a><a href="http://blog.chop.com.au/wp-content/uploads/typoart_45.png"><img class="alignnone size-large wp-image-1314" title="typoart_45" src="http://blog.chop.com.au/wp-content/uploads/typoart_45-1024x576.png" alt="" /></a><a href="http://blog.chop.com.au/wp-content/uploads/typoart_70.png"><img class="alignnone size-large wp-image-1315" title="typoart_70" src="http://blog.chop.com.au/wp-content/uploads/typoart_70-1024x576.png" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2012/01/3d-text-intro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Threadless Submission &#8211; No Parking (stick it to the man)</title>
		<link>http://blog.chop.com.au/2011/11/my-threadless-submission-no-parking-stick-it-to-the-man/</link>
		<comments>http://blog.chop.com.au/2011/11/my-threadless-submission-no-parking-stick-it-to-the-man/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 02:49:42 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1302</guid>
		<description><![CDATA[Score this design: &#8220;No Parking,&#8221; to help it get printed on Threadless!]]></description>
			<content:encoded><![CDATA[<p>Score this design: &#8220;<a href="http://www.threadless.com/submission/381092/No_Parking?utm_source=share&#038;utm_medium=email&#038;utm_content=No_Parking&#038;utm_campaign=designstreetteam=Leehoss">No Parking</a>,&#8221; to help it get printed on <a href="http://www.threadless.com?utm_source=share&#038;utm_medium=email&#038;utm_content=No_Parking&#038;utm_campaign=designstreetteam=Leehoss">Threadless</a>!<br/><br/><a href="http://www.threadless.com/submission/381092/No_Parking?utm_source=share&#038;utm_medium=email&#038;utm_content=No_Parking&#038;utm_campaign=designstreetteam=Leehoss"><img src="http://media.threadless.com/subs/big/381092.jpg" width="640" height="800" border="0"/></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/11/my-threadless-submission-no-parking-stick-it-to-the-man/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RIP Oscar &#8211; 26th December 1995 to 22nd October 2011</title>
		<link>http://blog.chop.com.au/2011/10/rip-oscar-26th-december-1995-to-22nd-october-2011/</link>
		<comments>http://blog.chop.com.au/2011/10/rip-oscar-26th-december-1995-to-22nd-october-2011/#comments</comments>
		<pubDate>Sat, 22 Oct 2011 07:35:13 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Oscar]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1293</guid>
		<description><![CDATA[Today I lost my best mate, my brother the family dog Oscar Wilson. He left us peacefully in our family home when the vet put him to sleep, after his final play in the park bush with his favourite stick. I&#8217;ll miss him incredibly as he was such an important part of my life. He [...]]]></description>
			<content:encoded><![CDATA[<p>Today I lost my best mate, my brother the family dog Oscar Wilson. He left us peacefully in our family home when the vet put him to sleep, after his final play in the <span style="text-decoration: line-through;">park</span> bush with his favourite stick.</p>
<p>I&#8217;ll miss him incredibly as he was such an important part of my life. He will be rembered by his love for sticks, his cheeky yet loving attitude, his un-deniable loyalty and his overall eccentric character. I&#8217;ll miss his growling whilst dragging his bed, his upright wanting to go to the park anytime I put shoes on, his sneeky roams around the neighbour hood (the rangers never got him), his undying love for all his family and being there all the always in times of need.</p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/oscar.jpg"><img class="alignnone size-full wp-image-1295" title="oscar" src="http://blog.chop.com.au/wp-content/uploads/oscar.jpg" alt="" width="670" height="419" /></a></p>
<p>There are soooo many tales to tell about Oscar, he was well known throughout the community</p>
<p>Rest in peace my dearest buddy</p>
<p>Love Leon</p>
<p>Ive made a gellery in memory of <a href="http://www.flickr.com/photos/chop/sets/72157627829927307/">Oscar in my flickr page</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/10/rip-oscar-26th-december-1995-to-22nd-october-2011/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XD Visuals HTML website</title>
		<link>http://blog.chop.com.au/2011/07/xd-visuals-html-website/</link>
		<comments>http://blog.chop.com.au/2011/07/xd-visuals-html-website/#comments</comments>
		<pubDate>Tue, 26 Jul 2011 03:10:54 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[Identity]]></category>
		<category><![CDATA[Website]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1251</guid>
		<description><![CDATA[Just finished a website for Job Wallis at xD Visuals. Comes complete with a customised CMS that is styled as the main website. Built in HTML (no Flash) I used webfonts which are very cool and a billion times more reliable than flash&#8230; ;~ This shows the projects administration page&#8230;.]]></description>
			<content:encoded><![CDATA[<p>Just finished a website for Job Wallis at <a href="http://www.xdvisuals.com">xD Visuals</a>. Comes complete with a customised CMS that is styled as the main website. Built in HTML (no Flash) I used webfonts which are very cool and a billion times more reliable than flash&#8230; ;~</p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/xd_ss_home.jpg"><img class="alignnone size-full wp-image-1271" title="xd_ss_home" src="http://blog.chop.com.au/wp-content/uploads/xd_ss_home.jpg" alt="" width="670" height="481" /></a></p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/xd_ss_admin.jpg"><img class="alignnone size-full wp-image-1261" title="xd_ss_admin" src="http://blog.chop.com.au/wp-content/uploads/xd_ss_admin.jpg" alt="" width="670" height="481" /></a></p>
<p>This shows the projects administration page&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/07/xd-visuals-html-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telegraph Olympics &#8211; [Pitch]</title>
		<link>http://blog.chop.com.au/2011/06/telegraph-olympics-pitch/</link>
		<comments>http://blog.chop.com.au/2011/06/telegraph-olympics-pitch/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 05:57:57 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Freelance]]></category>
		<category><![CDATA[Graphic Design]]></category>
		<category><![CDATA[illustration]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1201</guid>
		<description><![CDATA[I&#8217;ve just done some design/illustration work a pitch for my friends over at http://www.caffeinehit.com/. All going to plan there could be 10 different mini games to be designed and illustrated, all to be developed in CSS3 and HTML5.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just done some design/illustration work a pitch for my friends over at <a href="http://www.caffeinehit.com/">http://www.caffeinehit.com/</a>. All going to plan there could be 10 different mini games to be designed and illustrated, all to be developed in CSS3 and HTML5.</p>
<p><a href="http://blog.chop.com.au/wp-content/uploads/interface-crop1.jpg"><img class="alignnone size-full wp-image-1221" title="interface-crop" src="http://blog.chop.com.au/wp-content/uploads/interface-crop1.jpg" alt="" width="650" height="347" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/06/telegraph-olympics-pitch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roo Burger</title>
		<link>http://blog.chop.com.au/2011/06/roo-burger/</link>
		<comments>http://blog.chop.com.au/2011/06/roo-burger/#comments</comments>
		<pubDate>Thu, 02 Jun 2011 23:43:09 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[General Banta]]></category>
		<category><![CDATA[burger]]></category>
		<category><![CDATA[food]]></category>
		<category><![CDATA[kangaroo burger]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1131</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.chop.com.au/wp-content/uploads/burger1.png"><img src="http://blog.chop.com.au/wp-content/uploads/burger1.png" alt="" title="burger" width="650" height="481" class="alignnone size-full wp-image-1171" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/06/roo-burger/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SQL Update with join.</title>
		<link>http://blog.chop.com.au/2011/05/sql-update-with-join/</link>
		<comments>http://blog.chop.com.au/2011/05/sql-update-with-join/#comments</comments>
		<pubDate>Fri, 20 May 2011 07:18:30 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[update join]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1081</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<pre class="brush: sql; title: ; notranslate">
UPDATE a INNER JOIN b ON a.id = b.id  SET a.column = b.column
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/05/sql-update-with-join/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript onclick=&#8221;return validateForm()&#8221;;</title>
		<link>http://blog.chop.com.au/2011/05/javascript-onclickreturn-validateform/</link>
		<comments>http://blog.chop.com.au/2011/05/javascript-onclickreturn-validateform/#comments</comments>
		<pubDate>Fri, 20 May 2011 02:07:32 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Dev]]></category>
		<category><![CDATA[form check]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[onclick]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=1051</guid>
		<description><![CDATA[This is the basics for an checking if a Terms and Conditions checkbox has been checked, using javascript.]]></description>
			<content:encoded><![CDATA[<p>This is the basics for an checking if a Terms and Conditions checkbox has been checked, using javascript.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=UTF-8&quot; /&gt;
&lt;title&gt;Untitled Document&lt;/title&gt;
&lt;script&gt;
function validateForm()
    {

 		if(!document.getElementById(&quot;tandc&quot;).checked){
			document.getElementById(&quot;tandc&quot;).focus();
			alert(&quot;You must agree to the terms and conditions&quot;);
			return false;
		}

		return true;
	}
--&gt;
&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;input id=&quot;tandc&quot; name=&quot;terms&quot; type=&quot;checkbox&quot; value=&quot;&quot; /&gt;
 &lt;a href=&quot;process.php&quot; onclick=&quot;return validateForm();&quot;&gt;&lt;input type=&quot;button&quot; name=&quot;Submit&quot; value=&quot;Submit&quot; /&gt;&lt;/a&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/05/javascript-onclickreturn-validateform/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orbiting around a target 3D object &#8211; Away 3D</title>
		<link>http://blog.chop.com.au/2011/05/orbiting-around-a-target-3d-object-away-3d/</link>
		<comments>http://blog.chop.com.au/2011/05/orbiting-around-a-target-3d-object-away-3d/#comments</comments>
		<pubDate>Mon, 16 May 2011 01:52:59 +0000</pubDate>
		<dc:creator>chop</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Code Snippet]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Away 3D]]></category>

		<guid isPermaLink="false">http://blog.chop.com.au/?p=831</guid>
		<description><![CDATA[This is a AS3 script using Away 3D that orbits some 3d objects around a target object, if an alternate target object is selected, all orbiting objects and camera target Tween to their new coordinates. View Demo Source]]></description>
			<content:encoded><![CDATA[<p><a rel="shadowbox" href="http://blog.chop.com.au/flash/PositionOnSphere.html"><img class="alignnone size-full wp-image-881" title="orbitAroundTarget" src="http://blog.chop.com.au/wp-content/uploads/orbitAroundTarget.jpg" alt="" width="650" height="362" /></a></p>
<p>This is a AS3 script using Away 3D that orbits some 3d objects around a target object, if an alternate target object is selected, all orbiting objects and camera target Tween to their new coordinates.</p>
<p><a rel="shadowbox" href="http://blog.chop.com.au/flash/PositionOnSphere.html">View Demo</a></p>
<h3>Source</h3>
<pre class="brush: as3; title: ; notranslate">
package
{
		import away3d.cameras.Camera3D;
		import away3d.containers.ObjectContainer3D;
		import away3d.containers.Scene3D;
		import away3d.containers.View3D;
		import away3d.core.base.Face;
		import away3d.core.base.Mesh;
		import away3d.core.base.Object3D;
		import away3d.core.base.Vertex;
		import away3d.core.clip.RectangleClipping;
		import away3d.core.utils.Cast;
		import away3d.events.MouseEvent3D;
		import away3d.lights.DirectionalLight3D;
		import away3d.lights.PointLight3D;
		import away3d.loaders.Loader3D;
		import away3d.loaders.Swf;
		import away3d.materials.BitmapMaterial;
		import away3d.materials.ColorMaterial;
		import away3d.materials.ShadingColorMaterial;
		import away3d.materials.WireColorMaterial;
		import away3d.materials.WireframeMaterial;
		import away3d.primitives.Cone;
		import away3d.primitives.Cube;
		import away3d.primitives.LineSegment;
		import away3d.primitives.Plane;
		import away3d.primitives.Sphere;
		import away3d.primitives.TextField3D;
		import away3d.primitives.Trident;
		import away3d.sprites.MovieClipSprite;
		import away3d.sprites.Sprite3D;

		import com.greensock.TweenLite;

		import flash.display.Sprite;
		import flash.display.StageAlign;
		import flash.display.StageScaleMode;
		import flash.events.Event;
		import flash.geom.Vector3D;

		import wumedia.vector.VectorText;

	[SWF(backgroundColor='#333333', frameRate='60')]
	public class PositionOnSphere extends Sprite
	{
		private var _scene:Scene3D;
		private var _camera:Camera3D;
		private var _view:View3D;

		public var  _lookX:int = 300;
		public var _lookY:int = 200;
		public var _lookZ:int = 700;
		private var sphere:Sphere;
		private var sphereOrbit1:Sphere;
		private var sphereOrbit1Phi:Number;
		private var sphereOrbit1Theta:Number;

		private var sphereOrbit2:Sphere;
		private var sphereOrbit2Phi:Number;
		private var sphereOrbit2Theta:Number;

		private var sphereOrbit3:Sphere;
		private var sphereOrbit3Phi:Number;
		private var sphereOrbit3Theta:Number;
		private var target01:Cube;
		private var target02:Cube;

		public function PositionOnSphere()
		{
			super();
			stage.scaleMode = StageScaleMode.NO_SCALE;
			stage.align = StageAlign.TOP_LEFT;

			initScene();
			initObjects();

			this.addEventListener(Event.ENTER_FRAME, render);
		}

		private function initScene():void
		{
			_scene = new Scene3D();
			_camera = new Camera3D({z:-1000});
			_view = new View3D({scene:_scene, camera:_camera});
			_view.x = stage.stageWidth/2;
			_view.y = stage.stageHeight/2;
			_view.clipping = new RectangleClipping({minX:-stage.stageWidth/2, minY:-stage.stageHeight/2, maxX:stage.stageWidth/2, maxY:stage.stageHeight/2});
			addChild(_view);

			// Add trident for reference
			var tri:Trident = new Trident( (1000/2+100),true);
			_scene.addChild(tri);

		}
		private function initObjects():void
		{
			var plane:Plane = new Plane();
			plane.width = plane.height = 50000;
			plane.y = -1000;
			plane.segmentsW = plane.segmentsH = 12;
			plane.material = new WireframeMaterial(0x222222);
			_scene.addChild(plane);

			sphere = new Sphere({material:&quot;white#black&quot;,radius:200});
			sphere.ownCanvas = true;
			sphere.alpha = .7;
			sphere.bothsides = true;
			sphere.x = _lookX;
			sphere.y = _lookY;
			sphere.z = _lookZ;
			_scene.addChild(sphere);

			//setup target objects
			target01 = new Cube({material:&quot;black#white&quot;, depth:50, width:50, height:50});
			_scene.addChild(target01);

			target02 = new Cube({material:&quot;black#white&quot;, depth:50, width:50, height:50});
			_scene.addChild(target02);
			target02.x = _lookX;
			target02.y = _lookY;
			target02.z = _lookZ;

			target01.addEventListener(MouseEvent3D.MOUSE_DOWN,objectHandler);
			target02.addEventListener(MouseEvent3D.MOUSE_DOWN,objectHandler);
			//set up orbiting spheres

			sphereOrbit1 = new Sphere({material:&quot;yellow#black&quot;,radius:20});
			sphereOrbit1Phi = radians(0);
			sphereOrbit1Theta = radians(90);

			_scene.addChild(sphereOrbit1);

			sphereOrbit2 = new Sphere({material:&quot;red#black&quot;,radius:20});
			sphereOrbit2Phi = radians(90);
			sphereOrbit2Theta = 0;

			_scene.addChild(sphereOrbit2);

			sphereOrbit3 = new Sphere({material:&quot;blue#black&quot;,radius:20});
			sphereOrbit3Phi = 0
			sphereOrbit3Theta = radians(90);

			_scene.addChild(sphereOrbit3);
		}

		private function objectHandler(e:MouseEvent3D):void
		{
			var obj:Object3D = e.target as Object3D;
			tweenCameraTarget(obj.x,obj.y,obj.z)

		}
		private function setCoords(_targetObject:Object3D,_radius:Number = 300,_phi:Number = 0,_theta:Number = 0):void{

			var xp:int = _lookX - (_radius) * Math.sin(_phi) * Math.cos(_theta);
			var zp:int = _lookZ - (_radius) * Math.sin(_phi) * Math.sin(_theta);
			var yp:int = _lookY - (_radius) * Math.cos(_phi);

			_targetObject.x = xp;
			_targetObject.y = yp;
			_targetObject.z = zp;
		}
		private function hoverCamera():void
		{
			var mX:Number = this.mouseX &gt; 0 ? this.mouseX : 0;
			var mY:Number = this.mouseY &gt; 0 ? this.mouseY : 0;

			//you need to init tarX and tarY with the _lookX and _lookY
			var tarX:Number = _lookX +  5*(mX  - (stage.stageWidth*.5 ));
			var tarY:Number = _lookY + -5*(mY - (stage.stageHeight*.5));

			var dX:Number = _camera.x - tarX;
			var dY:Number = _camera.y - tarY;
			var dZ:Number = _lookZ - 1000 ;

			_camera.x -= dX*0.25;
			_camera.y -= dY*0.25;
			//always keep Z 1000 away from target
			_camera.z = _lookZ - 1000;
			_camera.lookAt(new Vector3D(_lookX, _lookY, _lookZ));

		}
		private function tweenCameraTarget(_x:int,_y:int,_z:int):void{

			//this tweens the look at variables
			TweenLite.to(this, 1, {_lookX:_x,_lookY:_y,_lookZ:_z});
			TweenLite.to(sphere,1,{x:_x, y:_y, z:_z});

		}
		private function radians(_degrees:Number):Number{
			//convert degrees to radians
			return _degrees*(Math.PI/180);
		}
		private function degrees(_radians:Number):Number{
			//convert radians to degrees
			return _radians*(180/Math.PI);
		}
		private function render(evt:Event):void
		{
			hoverCamera();

			setCoords(sphereOrbit1,300,sphereOrbit1Phi+=radians(1),sphereOrbit1Theta+=radians(3));

			setCoords(sphereOrbit2,330,sphereOrbit2Phi,sphereOrbit2Theta += radians(2) );

			setCoords(sphereOrbit3,270,sphereOrbit3Phi +=radians(4),sphereOrbit3Theta);

			_view.render();
		}
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.chop.com.au/2011/05/orbiting-around-a-target-3d-object-away-3d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

