<?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>Power-up Media Blog &#187; as3</title>
	<atom:link href="http://blog.powerupmedia.nl/tag/as3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.powerupmedia.nl</link>
	<description></description>
	<lastBuildDate>Wed, 20 Jul 2011 20:39:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Hoppin&#8217;pop</title>
		<link>http://blog.powerupmedia.nl/2008/11/24/hoppinpop/</link>
		<comments>http://blog.powerupmedia.nl/2008/11/24/hoppinpop/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 16:37:19 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[Check this!]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[columns]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[hoppin'pop]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=107</guid>
		<description><![CDATA[Isn&#8217;t it just great when you are full of exiting ideas and you hands are itching to get started but then your hands also start to itch because of RSI I had that problem a few months ago, but now I&#8217;m up and running again and started of with a nice game: http://www.powerupmedia.nl/#/hoppinpop I made [...]]]></description>
			<content:encoded><![CDATA[<p>Isn&#8217;t it just great when you are full of exiting ideas and you hands are itching to get started but then your hands also start to itch because of <a title="RSI" href="http://nl.wikipedia.org/wiki/Repetitive_Strain_Injury" target="_blank">RSI</a> <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  I had that problem a few months ago, but now I&#8217;m up and running again and started of with a nice game: <a href="http://www.powerupmedia.nl/#/hoppinpop" target="_blank">http://www.powerupmedia.nl/#/hoppinpop</a></p>
<p>I made this game in collaboration with a colleague of mine (Berthjan Achterop / <a href="http://www.berthjan.com/">http://www.berthjan.com/</a>)<br />
I started of with the coding of the engine and Berthjan made the design. After applying the design to the game I animated most of the characters to bring it all to live. The result is a &#8220;colums&#8221;-like game wrapped in a world of weird (but wonderful) creatures <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Enjoy and let me know what you think of it&#8230;</p>
<p>PS: here is a nice wallpaper to accompany the game <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a title="Hoppin'pop wallpaper" href="http://blog.powerupmedia.nl/wp-content/uploads/2008/11/wallpaper.jpg" target="_blank"><img class="alignnone size-medium wp-image-109" title="Hoppin\'pop wallpaper" src="http://blog.powerupmedia.nl/wp-content/uploads/2008/11/wallpaper-300x240.jpg" alt="Hoppin\'pop wallpaper" width="300" height="240" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2008/11/24/hoppinpop/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Jolly jellyfish turning Away3D</title>
		<link>http://blog.powerupmedia.nl/2008/06/17/jolly-jellyfish-turning-away3d/</link>
		<comments>http://blog.powerupmedia.nl/2008/06/17/jolly-jellyfish-turning-away3d/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 09:24:33 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[away3d]]></category>
		<category><![CDATA[cartoon]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash 9]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=104</guid>
		<description><![CDATA[justGREAT how jolly my jellyfish look in 3D After over a year of not listening to my nagging collegua (Away3D-team member Fabrice Closier) telling me to start working with (Away)3D, I caved&#8230; I started to experiment a little in Away3D and turned my 2D jellyfish experiment into a 3D version. You can watch the result here: http://www.powerupmedia.nl/#/exp080603 I added a couple [...]]]></description>
			<content:encoded><![CDATA[<p>justGREAT how jolly my jellyfish look in 3D <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>After over a year of not listening to my nagging collegua (<a title="Away3D" href="http://www.away3d.com/" target="_blank">Away3D</a>-team member <a title="Fabrice Closier" href="http://blog.closier.nl/" target="_blank">Fabrice Closier</a>) telling me to start working with (Away)3D, I caved&#8230; <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
I started to experiment a little in Away3D and turned my <a title="Jolly jellyfish exp080303" href="http://www.powerupmedia.nl/#/exp080303" target="_blank">2D jellyfish experiment</a> into a 3D version. You can watch the result here: <a title="jolly jellyfish 3D" href="http://www.powerupmedia.nl/#/exp080603" target="_blank">http://www.powerupmedia.nl/#/exp080603</a></p>
<p>I added a couple of tricks I learned way back when I created levels for Unreal Tournament.<br />
For example I added a second viewport for the skybox (in this case a sphere), because the Away3D Skybox-class is in fact not a real skybox but just a really huge cube rendered in the same viewport as the rest of the scene.<br />
The camera in my skybox viewport points in the same direction as the camera in the main viewport but always stays at point (0,0,0). This way the camera will never approach the side of the skybox, giving the illusion that everything in this viewport is really far away.</p>
<p>All-in-all a good start in Away3D if you ask me. I hope to do some real projects with 3D in the comming weeks&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2008/06/17/jolly-jellyfish-turning-away3d/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MouseEvent.ROLL_OUT troubles</title>
		<link>http://blog.powerupmedia.nl/2008/03/26/mouseeventroll_out-troubles/</link>
		<comments>http://blog.powerupmedia.nl/2008/03/26/mouseeventroll_out-troubles/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 10:01:24 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/2008/03/26/mouseeventroll_out-troubles/</guid>
		<description><![CDATA[Just great Just when I thought I mastered the MouseEvents in as3 (after trying almost every combination of MouseEvents, buttonMode and mouseChildren) I found a new problem situation; only this time I can seem to find a solution. The situation looks like this: If you can see this, then you might need a Flash Player [...]]]></description>
			<content:encoded><![CDATA[<p>Just great <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Just when I thought I mastered the MouseEvents in as3 (after trying almost every combination of <em>MouseEvents</em>, <em>buttonMode</em> and <em>mouseChildren</em>) I found a new problem situation; only this time I can seem to find a solution.</p>
<p>The situation looks like this:<br />
<object type="application/x-shockwave-flash" style="width:448px;height:386px" data="http://blog.justgreat.nl/wp-content/uploads/2008/03/rollout-test.swf"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="quality" value="best" /><param name="wmode" value="transparent" /><param name="movie" value="http://blog.justgreat.nl/wp-content/uploads/2008/03/rollout-test.swf" /><param name="pluginspage" value="http://www.macromedia.com/go/getflashplayer" />If you can see this, then you might need a Flash Player upgrade or you need to install Flash Player if it's missing. Get <a href="http://get.adobe.com/flashplayer/" target="_blank">Flash Player</a> from Adobe.</object><br/>
		<!-- Valid XHTML flash object delivered by XHTML Video Embed. Get it at: http://saltwaterc.net/xhtml-video-embed -->
		<br />
- The two shapes are siblings so they have the same parent (i.o.w. the two shapes can&#8217;t be nested).<br />
- The blue oval is on top of the green rectangle.<br />
- I want to know when the mouse leaves the green rectangle.</p>
<p>The problem is that the green rectangle dispatches a ROLL_OUT and MOUSE_OUT event as soon as the mouse hits the blue oval.</p>
<p>I tried all combinations of mouseChildren, buttonMode and enabled on the oval and on the parent of the two clips, but nothing seems to make the oval not &#8220;steal focus&#8221; of the rectangle.</p>
<p>Here is the source of the test: <a target="_blank" href="http://blog.justgreat.nl/wp-content/uploads/2008/03/rollout-test.zip">Rollout test (zip)</a></p>
<p>I can think of some workarounds (hitArea, using an invisible button, etc.) but I much rather find a straight way to handle this kind of situation.<br />
Since this was never a problem in as2 I believe there should be a decent solution in as3 as well.</p>
<p>If someone has an answer to this problem or knows about a secret property I haven&#8217;t tried, please let me know&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2008/03/26/mouseeventroll_out-troubles/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Game tiles experiment</title>
		<link>http://blog.powerupmedia.nl/2008/03/25/game-tiles-experiment/</link>
		<comments>http://blog.powerupmedia.nl/2008/03/25/game-tiles-experiment/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 22:51:22 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[terrain generator]]></category>
		<category><![CDATA[tiles]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/2008/03/25/game-tiles-experiment/</guid>
		<description><![CDATA[justGREAT! I start off designing some tiles just for practice and one day later I end up with a neat experiment I was inspired by the graphics of Dofus Arena and decided to try and create some similar tiles&#8230; Spending half a day fooling around with Fireworks I ended up with this image: Another half a day later [...]]]></description>
			<content:encoded><![CDATA[<p>justGREAT! I start off designing some tiles just for practice and one day later I end up with a neat experiment <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>I was inspired by the <a href="http://images.google.nl/images?hl=nl&amp;q=dofus+arena&amp;um=1&amp;ie=UTF-8&amp;sa=N&amp;tab=wi" target="_blank">graphics of Dofus Arena</a> and decided to try and create some similar tiles&#8230; Spending half a day fooling around with Fireworks I ended up with this image:</p>
<p><a href="http://fc02.deviantart.com/fs28/f/2008/083/0/3/Game_tiles_by_ironiceagle.jpg" target="_blank"><img src="http://tn3-1.deviantart.com/fs28/300W/f/2008/083/0/3/Game_tiles_by_ironiceagle.jpg" border="0" alt="game tiles" width="300" height="180" /></a></p>
<p>Another half a day later I turned the graphics into an animated terrain generator: <a href="http://www.powerupmedia.nl/#/exp080302" target="_blank">http://www.powerupmedia.nl/#/exp080302</a></p>
<p>The terrain is generated according to three small bitmaps (see top left corner). The first one determines the type of the tile. The second one is like a bumpmap and determines the elevation of eacht tile. The third bitmap determines where objects (plants, rocks, gold, etc.) should be placed.<br />
In the future I might create an editor which can write the bitmaps.</p>
<p>Once I designed more versions of each tile-type (4 or 5 different grass tiles for example) the generator will be able to pick a random version of that tile. This way repetition in the structure should be avoided (at the moment the tiles are just mirrored at random).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2008/03/25/game-tiles-experiment/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>0.1*3 = 0.30000000000000004</title>
		<link>http://blog.powerupmedia.nl/2007/12/20/013-030000000000000004/</link>
		<comments>http://blog.powerupmedia.nl/2007/12/20/013-030000000000000004/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 14:53:53 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/2007/12/20/013-030000000000000004/</guid>
		<description><![CDATA[Isn&#8217;t this just great? I stumbled upon this problem in actionscript a while ago, but at that time I just worked around it and never bothered again&#8230; until today. A colleague came to me with the same problem and I decided to investigate a little more. Apparently it is some weird bug when it comes to [...]]]></description>
			<content:encoded><![CDATA[<p>Isn&#8217;t this just great? I stumbled upon this problem in actionscript a while ago, but at that time I just worked around it and never bothered again&#8230; until today. A <a target="_blank" href="http://blog.idsklijnsma.nl/">colleague</a> came to me with the same problem and I decided to investigate a little more.</p>
<p>Apparently it is some weird bug when it comes to multiplying decimals values by 3. Take this little script for example:</p>

<div class="wp_codebox"><table><tr id="p803"><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code" id="p80code3"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> j:<span style="color: #0066CC;">Number</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;">int</span>=<span style="color: #cc66cc;">0</span>; i<span style="color: #66cc66;">&amp;</span>lt;<span style="color: #cc66cc;">10</span>; i++<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> 
	j = i<span style="color: #66cc66;">/</span><span style="color: #cc66cc;">10</span>; 
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>j+<span style="color: #ff0000;">&quot;*3 =<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span>+<span style="color: #66cc66;">&#40;</span>j<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">3</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>It outputs:<br />
0*3 = 0<br />
0.1*3 = 0.30000000000000004<br />
0.2*3 = 0.6000000000000001<br />
0.3*3 = 0.8999999999999999<br />
0.4*3 = 1.2000000000000002<br />
0.5*3 = 1.5<br />
0.6*3 = 1.7999999999999998<br />
0.7*3 = 2.0999999999999996<br />
0.8*3 = 2.4000000000000004<br />
0.9*3 = 2.7</p>
<p>And it doesn&#8217;t stop just there. The same problems occur when adding a decimal value to the double of it&#8217;s value:</p>

<div class="wp_codebox"><table><tr id="p804"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p80code4"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>.1+.2<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">//0.30000000000000004 </span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>.2+.4<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">//0.6000000000000001 </span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>.3+.6<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">//0.8999999999999999 </span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>.4+.8<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">//1.2000000000000002</span></pre></td></tr></table></div>

<p>The problem occurres in Javascript as well as in Actionscript (and probably some other languages too) so it&#8217;s probably caused by the way decimal values are treated at byte-level. Because it&#8217;s not likely there will be a fix for this soon, here is a little workaround:<br />
i = int(i *10)/10; //use int() in favour of Math.round() to speed up the code</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/12/20/013-030000000000000004/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Joy with the script timeout period</title>
		<link>http://blog.powerupmedia.nl/2007/08/24/joy-with-the-script-timeout-period/</link>
		<comments>http://blog.powerupmedia.nl/2007/08/24/joy-with-the-script-timeout-period/#comments</comments>
		<pubDate>Fri, 24 Aug 2007 12:11:28 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[timeout]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=60</guid>
		<description><![CDATA[Isn&#8217;t it just great when you finally find a useful new feature in Flash 9. I&#8217;m talking about the script-timeout period. Remember how you sometimes had to run a script for more than 15 seconds and always got that annoying timeout popup? From now on (using Flash 9 / player 7 and up) you can [...]]]></description>
			<content:encoded><![CDATA[<p>Isn&#8217;t it just great when you finally find a <strong>useful</strong> new feature in Flash 9.<br />
I&#8217;m talking about the script-timeout period.<br />
Remember how you sometimes had to run a script for more than 15 seconds and always got that annoying timeout popup? From now on (using Flash 9 / player 7 and up) you can set the timeout as you wish. Isn&#8217;t that just great?!<br />
It gets even better when you use AS3; the player doesn&#8217;t just show the script-timeout popup but it actually throws an Error (&#8220;Error #1502: A script has executed for longer than the default timeout period of 15 seconds.&#8221;). This way you can make a certain part of your script (which needs more time than the supplied timeout period) run over and over again until the calculation is complete.</p>
<p>Here is an example:</p>

<div class="wp_codebox"><table><tr id="p606"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
</pre></td><td class="code" id="p60code6"><pre class="actionscript" style="font-family:monospace;">package <span style="color: #66cc66;">&#123;</span> 
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">events</span>.<span style="color: #006600;">Event</span>; 
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #0066CC;">MovieClip</span>; 
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TestMC <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">MovieClip</span><span style="color: #66cc66;">&#123;</span> 
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; 
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> loopCount:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; 
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> TestMC<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> 
			<span style="color: #0066CC;">this</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ENTER_FRAME</span>, <span style="color: #0066CC;">this</span>.<span style="color: #006600;">calculate</span><span style="color: #66cc66;">&#41;</span>; 
		<span style="color: #66cc66;">&#125;</span> 
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> calculate<span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> <span style="color: #66cc66;">&#123;</span> 
			<span style="color: #0066CC;">try</span><span style="color: #66cc66;">&#123;</span> 
				<span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">i</span>++; <span style="color: #66cc66;">&#125;</span> 
			<span style="color: #66cc66;">&#125;</span> 
			<span style="color: #0066CC;">catch</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:<span style="color: #0066CC;">Error</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> 
				<span style="color: #0066CC;">this</span>.<span style="color: #006600;">loopCount</span>++; 
				<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;____________n'i' after &quot;</span>+loopCount+<span style="color: #ff0000;">&quot; frames = &quot;</span> + <span style="color: #0066CC;">this</span>.<span style="color: #006600;">i</span><span style="color: #66cc66;">&#41;</span>; 
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>i<span style="color: #66cc66;">&amp;</span>lt;<span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> <span style="color: #808080; font-style: italic;">//i will be negative when it becomes to big, normally you would check here if your calculation is done... </span>
					<span style="color: #0066CC;">this</span>.<span style="color: #006600;">removeEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">ENTER_FRAME</span>, <span style="color: #0066CC;">this</span>.<span style="color: #006600;">calculate</span><span style="color: #66cc66;">&#41;</span>; 
				<span style="color: #66cc66;">&#125;</span> 
			<span style="color: #66cc66;">&#125;</span> 
		<span style="color: #66cc66;">&#125;</span> 
	<span style="color: #66cc66;">&#125;</span> 
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>This is just an example and I’m sure you can think of much more useful ways to use this feature.<br />
Hope it heps you along…</p>
<p>Update (1 December 2007):<br />
Just great; I forgot to mention HOW to set the timeout . Well here is how:<br />
You can’t set the timeoutperiod by code (neither in as3 nor in as2). You have to set the timeout manually in the publish settings of your fla: Ctrl+Shift+F12 &gt; flash-tab &gt; “Script time limit”.<br />
Let me know if you still have trouble.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/08/24/joy-with-the-script-timeout-period/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Game Physics here I come&#8230;</title>
		<link>http://blog.powerupmedia.nl/2007/07/09/game-physics-here-i-come/</link>
		<comments>http://blog.powerupmedia.nl/2007/07/09/game-physics-here-i-come/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 18:46:10 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[Check this!]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[physics engine]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=57</guid>
		<description><![CDATA[Just great! After years I finally found the book I was looking for all the time&#8230; Game Physics &#8211; Engine Development I&#8217;m not really a book person, but when I tried to create a physics engine a while back I ran into a couple of major problems which stopped me from going on with it. [...]]]></description>
			<content:encoded><![CDATA[<p>Just great! After years I finally found the book I was looking for all the time&#8230;</p>
<p><strong>Game Physics &#8211; Engine Development</strong></p>
<p>I&#8217;m not really a book person, but when I tried to create a physics engine a while back I ran into a couple of major problems which stopped me from going on with it. I tried it a couple of times ever since but I always found myself stuck on the same problems (complicated collision detection etc.). Back then I searched for decent books to help me but there wern&#8217;t any. Either they were way too easy (coming with all kinds of crappy solutions) or way too hard (most of them all about theoretical physics).</p>
<p>I ran into this book by accident as I was actually looking for an all picture book with cool and stylish web design (Web design index by content).</p>
<p>I haven&#8217;t read any of it yet, but looking at the pics inside it is <strong>exactly</strong> what I needed <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  .<br />
I tend to read it in my vacation so you might expect some nice experiments in the near future.</p>
<p>For those of you who are interested:</p>
<p><strong>Game Physics &#8211; Engine Development </strong>by Ian Millington<br />
isbn: 978-0-12-369471-3</p>
<p><strong>Web design index by content<br />
</strong>isbn: 90-5768-069-6 | <a target="_blank" href="http://webdesignindex.org/">http://webdesignindex.org</a></p>
<p>PS: I saw this Ian dude also has a book on AI which sounds interesting too, but that something for the future. (God, where am I gonna find the time&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/07/09/game-physics-here-i-come/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simple terrain generator experiment</title>
		<link>http://blog.powerupmedia.nl/2007/07/08/simple-terrain-generator-experiment-part-1/</link>
		<comments>http://blog.powerupmedia.nl/2007/07/08/simple-terrain-generator-experiment-part-1/#comments</comments>
		<pubDate>Sun, 08 Jul 2007 21:13:32 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[terrain generator]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=56</guid>
		<description><![CDATA[Just great how easy it is to make a simple terrain generator This evening I started an experiment to try and create a terrain generator (like the one in my all-time favourite SimCity2000). So far I don&#8217;t really have use for it but it might come in handy in the future. I managed to work out [...]]]></description>
			<content:encoded><![CDATA[<p>Just great how easy it is to make a simple terrain generator <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>This evening I started an experiment to try and create a terrain generator (like the one in my all-time favourite SimCity2000). So far I don&#8217;t really have use for it but it might come in handy in the future.</p>
<p>I managed to work out the basics in just 3 to 4 hours. Now I need to find a way to get smoother edges and get rid of all the really small islands. I recon that&#8217;s gonna take a bit more work.</p>
<p> I used an enterFrame event to get the animated effect. Just to see what happens.</p>
<p>Check the first results here:<br />
<a target="_blank" href="http://www.powerupmedia.nl/#/exp070702">http://www.powerupmedia.nl/#/exp070702</a></p>
<p>PS: this is the first time I used actual flash components since I don&#8217;t have a slider or spinner ready in as3; boy do those things SUCK!!! <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_rolleyes.gif' alt=':roll:' class='wp-smiley' /> </p>
<p><strong>UPDATE (2007-07-09):</strong><br />
I managed to remove the majority of the small (one or two px) islands by tweaking the algorithm a little. The result is now a bit more realistic.</p>
<p>Also I increased the max world size to 960&#215;960 (to illustrate: SimCity2000 has a mapsize of 128&#215;128).</p>
<p>Finally I added the world wrap option (because it took me just 2 minutes to add <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).</p>
<p><strong>UPDATE (2008-03-09):<br />
</strong>Here is a short explanation of how the code works:</p>
<p>The general trick is to place a first pixel somewhere on the map and than check each of its neighbours to see if they need to be filled with the same &#8220;terrain-type&#8221;. You can do this by checking a random value against a fixed limit value (in this case represented by the &#8220;spread&#8221;).<br />
When a certain pixel on the map is filled you place it in an array so you can always check if a pixel is already occupied and you can also use it to check if the maximum number of a certain type is reached (in this case represented by the &#8220;pct&#8221;).<br />
After this whole sequence you repeat the same process for the newly generated pixels (there is your recursion). If there are no more pixels left to check and the maximum is not reached yet, you just place a new pixel somewhere on the map and start again.</p>
<p>I hope this will help you along.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/07/08/simple-terrain-generator-experiment-part-1/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Flash experiments</title>
		<link>http://blog.powerupmedia.nl/2007/07/05/flash-experiments/</link>
		<comments>http://blog.powerupmedia.nl/2007/07/05/flash-experiments/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 20:59:51 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[experiment]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[old stuff]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=55</guid>
		<description><![CDATA[justGREAT! I organized some of my flash experiments for you to play with&#8230; ribbon #1 (2003?) soap (2005) particles #1 (2005) particles #2 (2006) particles #3 (2006) mouse #1 (2006) Let me know what you think of them&#8230; I hope to convert some older experiments in to as3 in the near future. I&#8217;ll keep you [...]]]></description>
			<content:encoded><![CDATA[<p>justGREAT! I organized some of my flash experiments for you to play with&#8230;</p>
<p>ribbon #1 (2003?)<br />
soap (2005)<br />
particles #1 (2005)<br />
particles #2 (2006)<br />
particles #3 (2006)<br />
mouse #1 (2006)</p>
<p>Let me know what you think of them&#8230;</p>
<p>I hope to convert some older experiments in to as3 in the near future. I&#8217;ll keep you posted!</p>
<p><strong>Update</strong> <em>(2007-12-05)</em><br />
I moved my experiments to a new domain and I renamed them because their numbers became too overwhelming <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /><br />
You can find these and other experiments on <a href="http://labs.powerupmedia.nl/">http://labs.powerupmedia.nl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/07/05/flash-experiments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I want actual sizes!</title>
		<link>http://blog.powerupmedia.nl/2007/07/05/i-want-actual-sizes/</link>
		<comments>http://blog.powerupmedia.nl/2007/07/05/i-want-actual-sizes/#comments</comments>
		<pubDate>Thu, 05 Jul 2007 09:22:51 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=54</guid>
		<description><![CDATA[Just great! yet another weird Flash &#8220;feature&#8221;. When I tried to get the width of a rotating MovieClip I got wildly variating values. This surprised me because the MovieClip only contained exact round shape. The circle was 25 px in diameter, but when I started to trace the width in an interval I got values ranging from [...]]]></description>
			<content:encoded><![CDATA[<p>Just great! yet another weird Flash &#8220;feature&#8221;. When I tried to get the width of a rotating MovieClip I got wildly variating values. This surprised me because the MovieClip only contained exact round shape. The circle was 25 px in diameter, but when I started to trace the width in an interval I got values ranging from 25 to 35.4px.</p>
<p>As it turned out, the width and height of the MovieClip only represent the bounding box of the original shape (when it still had a rotation of 0). The only way to get the actual width and height of the MovieClip was to use the <em>getBounds</em>method. This method calculates the boundingbox according to the current shape and orientation of the MovieClip giving the trrue width and height.</p>
<p>To test this create a movieclip width a circle in it and place the code below on the first frame (I&#8217;m no fan of timeline-code but it&#8217;s ideal for testing purpose <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).</p>

<div class="wp_codebox"><table><tr id="p548"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p54code8"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">onEnterFrame</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span> 
	<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_rotation</span> += <span style="color: #cc66cc;">15</span>; 
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;boundingbox-width: &quot;</span>+<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">getBounds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">xMax</span>-<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">getBounds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">xMin</span><span style="color: #66cc66;">&#41;</span>+<span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>width: &quot;</span>+<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_width</span><span style="color: #66cc66;">&#41;</span>; 
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>The sample is as2 but the problem and solution are the same in as3.</p>
<p>I hope this helps some of you who were wondering why a 25px circel suddenly had a 35.4px width <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' />  .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/07/05/i-want-actual-sizes/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>allowFulSceen vs. transparent wmode</title>
		<link>http://blog.powerupmedia.nl/2007/06/29/allowfulsceen-vs-transparent-wmode/</link>
		<comments>http://blog.powerupmedia.nl/2007/06/29/allowfulsceen-vs-transparent-wmode/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 10:29:41 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[embedding]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[fullscreen]]></category>
		<category><![CDATA[transparent]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=53</guid>
		<description><![CDATA[Just great when you waste half an hour figuring out why you can&#8217;t get your flash to run in fullscreen mode To save you the time and frustration, here is why it didn&#8217;t work: You can&#8217;t use the allowFullScreen = true and wmode = transparent together Somehow the flashplayer is not smart enough to simply [...]]]></description>
			<content:encoded><![CDATA[<p>Just great when you waste half an hour figuring out why you can&#8217;t get your flash to run in fullscreen mode <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> </p>
<p>To save you the time and frustration, here is why it didn&#8217;t work:<br />
You can&#8217;t use the <strong>allowFullScreen = true</strong> and <strong>wmode = transparent</strong> together <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_confused.gif' alt=':?' class='wp-smiley' /> </p>
<p>Somehow the flashplayer is not smart enough to simply make the background opaque when you set the player to fullscreen mode.</p>
<p>Lets hope they fix this in the next player update&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/06/29/allowfulsceen-vs-transparent-wmode/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Garbage Collector troubles using the Loader class.</title>
		<link>http://blog.powerupmedia.nl/2007/06/18/garbage-collector-troubles-using-the-loader-class/</link>
		<comments>http://blog.powerupmedia.nl/2007/06/18/garbage-collector-troubles-using-the-loader-class/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 19:41:26 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flash 9]]></category>
		<category><![CDATA[garbage collector]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[loader]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=44</guid>
		<description><![CDATA[Just great another weird Garbage Collector issue in AS3: When I load an image using the Loader class and unload it later on. It won&#8217;t be disposed by the garbage collector. There are no references to neither the Loader nor the (weak) eventlisteners. After loading the image a couple of times the memory goes sky [...]]]></description>
			<content:encoded><![CDATA[<p>Just great <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  another weird Garbage Collector issue in AS3:</p>
<p>When I load an image using the Loader class and unload it later on. It won&#8217;t be disposed by the garbage collector.<br />
There are no references to neither the Loader nor the (weak) eventlisteners. After loading the image a couple of times the memory goes sky high <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_neutral.gif' alt=':|' class='wp-smiley' /> .</p>
<p>Here is a (simple) example: <a href="http://blog.powerupmedia.nl/wp-content/uploads/2007/06/loadertest.zip" title="LoaderTest">loadertest.zip</a></p>
<p>Does anyone have an explaination on why the GC doesn&#8217;t clean the loaded content? I would be very grateful!</p>
<p><strong>UPDATE 1 (2007-06-19):</strong><br />
I made the example even less complicated by using the same Loader instance when loading new images.</p>
<p>As I work around I tried to dispose the loaded BitmapData but unfortunately it had no effect.<br />
I assume the leak is somewhere within the Loader (or even deeper in the code) and that the loaded (binary) data is not removed after it&#8217;s converted into a BitmapData.</p>
<p><strong>UPDATE 2 (2007-06-19):<br />
</strong>I found the solution on in this post:<br />
<a href="http://www.webforumz.com/macromedia-flash/42690-memory-leak-when-loading-swf-in.htm">http://www.webforumz.com/macromedia-flash/42690-memory-leak-when-loading-swf-in.htm</a><a href="http://www.webforumz.com/macromedia...ding-swf-in.htm"></a></p>
<p>It seems that the unload() method has a bug when used in the flash IDE. Once I ran the test in a browser there seem to be no more problems and the GC nicely clears the memory&#8230;</p>
<p>Lets hope Adobe fixes this problem in the next Flash 9 update.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/06/18/garbage-collector-troubles-using-the-loader-class/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Code speed-up tips!</title>
		<link>http://blog.powerupmedia.nl/2007/06/14/code-speed-up-tips/</link>
		<comments>http://blog.powerupmedia.nl/2007/06/14/code-speed-up-tips/#comments</comments>
		<pubDate>Thu, 14 Jun 2007 21:13:53 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code speed-up]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=43</guid>
		<description><![CDATA[Isn&#8217;t it just great how a few simple tricks can speed up your code? Here are some&#8230; Al examples below are based on the fact that calling a method is way slower than just calculating the answer on the fly. Here are some fast ways to replace common Math methods. In most cases this save [...]]]></description>
			<content:encoded><![CDATA[<p>Isn&#8217;t it just great how a few simple tricks can speed up your code? Here are some&#8230;<br />
Al examples below are based on the fact that calling a method is way slower than just calculating the answer on the fly.<br />
Here are some fast ways to replace common Math methods. In most cases this save half the time or more <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_exclaim.gif' alt=':!:' class='wp-smiley' /> </p>

<div class="wp_codebox"><table><tr id="p4310"><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code" id="p43code10"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">abs</span><span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&lt;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> ? -x : x;
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">min</span><span style="color: #66cc66;">&#40;</span>x,y<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&lt;</span>y<span style="color: #66cc66;">&#41;</span> ? x : y; 
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">max</span><span style="color: #66cc66;">&#40;</span>x,y<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&gt;</span>y<span style="color: #66cc66;">&#41;</span> ? x : y; 
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">floor</span><span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #66cc66;">&#40;</span>x <span style="color: #66cc66;">&gt;&gt;&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">ceil</span><span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #66cc66;">&#40;</span>x <span style="color: #66cc66;">&gt;&gt;&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>; <span style="color: #808080; font-style: italic;">//mind the brackets! </span>
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = <span style="color: #0066CC;">int</span><span style="color: #66cc66;">&#40;</span>x<span style="color: #66cc66;">&#41;</span>; 
&nbsp;
<span style="color: #808080; font-style: italic;">//slow:</span>
z = <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">pow</span><span style="color: #66cc66;">&#40;</span>x,<span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//faster:</span>
z = x<span style="color: #66cc66;">*</span>x; <span style="color: #808080; font-style: italic;">//this one only works faster if the power is a fixed value; for-loops in case of a variable power are most of the time slower than the Math.pow!</span></pre></td></tr></table></div>

<p>Of course most of the above method replacements make your code more sloppy, so I suggest you only use these replacements when the speed of the application <strong>really</strong> matters (for example in huge for-loops) or in libraries or components which rarely need adjustment.</p>
<p> <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_idea.gif' alt=':idea:' class='wp-smiley' />  If you have any good additions to this list please let me know&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/06/14/code-speed-up-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Use &#8220;this&#8221;&#8230;</title>
		<link>http://blog.powerupmedia.nl/2007/06/11/use-this/</link>
		<comments>http://blog.powerupmedia.nl/2007/06/11/use-this/#comments</comments>
		<pubDate>Mon, 11 Jun 2007 19:41:35 +0000</pubDate>
		<dc:creator>Arno van Oordt</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Power-up Media]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[code speed-up]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[this]]></category>

		<guid isPermaLink="false">http://blog.justgreat.nl/?p=37</guid>
		<description><![CDATA[Because &#8220;this&#8221; is just great! Unfortunately many people omit them in their code . Not sure why though, but my guess is that they are ignorant or just lazy (don&#8217;t be offended if you don&#8217;t use the this keyword for another reason, but please let me know why). Even Adobe (and Macromedia before them) neglects [...]]]></description>
			<content:encoded><![CDATA[<p>Because &#8220;<code>this</code>&#8221; is just great!</p>
<p>Unfortunately many people omit them in their code <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_cry.gif' alt=':cry:' class='wp-smiley' />  . Not sure why though, but my guess is that they are ignorant or just lazy (don&#8217;t be offended if you don&#8217;t use the <code>this</code> keyword for another reason, but please let me know why).<br />
Even Adobe (and Macromedia before them) neglects the <code>this</code> keyword. None of their examples uses <code>this</code> and it&#8217;s nowhere to be found in their own code either!<br />
<strong>Shame on them!</strong></p>
<p>At the company where I work we didn&#8217;t use the keyword up until a year or two/three ago. Some of us found the keyword to be very handy and convinced the rest (not sure which group I belonged to at that time).</p>
<p>First of all, using the <font face="Courier New">this</font> instance variables supplies you the option to declare a local variable with the same name:</p>

<div class="wp_codebox"><table><tr id="p3712"><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code" id="p37code12"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">this</span>.<span style="color: #006600;">myVar</span> = <span style="color: #ff0000;">&quot;my instance var&quot;</span>; 
<span style="color: #000000; font-weight: bold;">var</span> myVar:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;my local var&quot;</span>; 
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">this</span>.<span style="color: #006600;">myVar</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//my instance var </span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>myVar<span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//my local var</span></pre></td></tr></table></div>

<p>(Note that the above code only works in a class and not in the timeline!)</p>
<p>This can come in really handy when you need to store some temporarily data, during a for loop for example.</p>
<p>The second and most important reason to use <code>this</code>, is that it keeps your code clean and neat. It will help you to visually distinguish the local variables from the instance variables. This is vital if you work in a team on the same project or if other people need to work on your project later on (bug fixing, implementing new feature, etc.)<br />
In all these cases it&#8217;s important to scan through someone&#8217;s code quickly and see at a glance where a certain variable comes from or is declared. If you omit the <code>this</code> keyword you would first have to scan the entire method to see if, maybe, the variable is declared local in this method. While if you <strong>do</strong> use the <code>this</code> keyword you know for sure it is declared in the Class definition and you know you can use it throughout the entire class (and in case of a public var, throughout the entire code).</p>
<p>So using the <code>this</code> keyword gives you more control over your code and it lets you (and your colleagues) programme in old or other peoples code <strong>much</strong> faster!</p>
<p>If you don&#8217;t use the <code>this</code> keyword at the moment, I hope this post convinced you to try out the <code>this</code> keyword for a while (even if it&#8217;s only for one single project) and I&#8217;m sure you never want to programme with out it, ever again.</p>
<p>If you already did use the <code>this</code> keyword, maybe this post wil help you to convince some ignorant fools in your vicinity <img src='http://blog.powerupmedia.nl/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.powerupmedia.nl/2007/06/11/use-this/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

