<?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>noCreativity.com &#187; Actionscript</title>
	<atom:link href="http://nocreativity.com/blog/tag/actionscript/feed" rel="self" type="application/rss+xml" />
	<link>http://nocreativity.com</link>
	<description>The life and discoveries of a new media artist</description>
	<lastBuildDate>Sat, 07 Jan 2012 17:03:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Bezier animation fun!</title>
		<link>http://nocreativity.com/blog/bezier-animation-fun</link>
		<comments>http://nocreativity.com/blog/bezier-animation-fun#comments</comments>
		<pubDate>Tue, 03 Mar 2009 08:21:58 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Experiments]]></category>
		<category><![CDATA[Bezier]]></category>
		<category><![CDATA[Cool shit]]></category>
		<category><![CDATA[FITC]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fun]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=420</guid>
		<description><![CDATA[Last week I went to FITC in Amsterdam. It was great! I had such a great time. I met a lot of intresting people and although Amsterdam turned out to be quite expensive place, I really liked being there a few days. During the conference I attended Joshua Davis&#8216; session which really inspired me. I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I went to <a href="http://fitc.ca/amsterdam" target="_blank" target="_blank">FITC</a> in Amsterdam. It was great! I had such a great time. I met a lot of intresting people and although Amsterdam turned out to be quite expensive place, I really liked being there a few days.</p>
<p>During the conference I attended <a href="http://www.joshuadavis.com/" target="_blank" target="_blank">Joshua Davis</a>&#8216; session which really inspired me. I&#8217;ve never seen Joshua Davis present, nor did I know his work. Let me be as crystal clear about this as I can be: The man is a freakin&#8217; genius!<br />
During his session he showed a few demo&#8217;s of bezier animated stuff. I felt like trying that myself, and this is what I came up with.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/babycreative/3320561519/" target="_blank"><img class="aligncenter" title="Magic Bezier" src="http://farm4.static.flickr.com/3551/3320561519_4a59409385_o.jpg" alt="" width="492" height="392" /></a></p>
<p>The basic concept is to create a bezier in Actionscript and animating movieclips using the bezier as its motion path.</p>
<ul>
<li><a href="http://labs.nocreativity.com/bezier/pentool.swf"rel="shadowbox;width=700;height=300"  target="_blank">Basic principle</a> (this is actually just a basic pentool (without the option of adding new points <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' />  ))</li>
</ul>
<p>The following versions use the same concept as this one, except instead of fixed anchor points, they all use random points defined in 2 planes. This makes a bit of variety possible allthough the main animation stays the same and that&#8217;s absolutely cool!</p>
<ul>
<li><a href="http://labs.nocreativity.com/bezier/bezierstuff_multiobject.swf"rel="shadowbox;width=800;height=800"  target="_blank">Animation fun</a></li>
<li><a href="http://labs.nocreativity.com/bezier/bezierstuff_multiobject_v2.swf"rel="shadowbox;width=800;height=800"  target="_blank">Animation fun V2</a></li>
</ul>
<p>I added a few keyboard controls to give you some control of what is happening</p>
<ul>
<li>spacebar = show the handles</li>
<li>r = clear the bitmap</li>
<li>p = pause the animation</li>
<li>n = randomize handles</li>
<li>b = blur more</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/bezier-animation-fun/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Webcam motion detection coolness</title>
		<link>http://nocreativity.com/blog/webcam-motion-detection-coolness</link>
		<comments>http://nocreativity.com/blog/webcam-motion-detection-coolness#comments</comments>
		<pubDate>Sun, 18 Jan 2009 17:43:21 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[detection]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[webcam]]></category>
		<category><![CDATA[webcam motion]]></category>
		<category><![CDATA[webcam motion detection]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=355</guid>
		<description><![CDATA[A few weeks ago I had to create an innovative way to scroll in a page. I have seen tons of scrollbars in Flash and I found it hard to create something completely new. At one point I wondered if I could wire the scrollbar to a webcam using Actionscript&#8230; So I started experimenting around&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2009/01/picture-1071.jpg"><img class="aligncenter size-large wp-image-357" title="Webcam motion detection: step by step development" src="http://nocreativity.com/blog-engine/wp-content/uploads/2009/01/picture-1071-1024x533.jpg" alt="Webcam motion detection: step by step development" width="491" height="256" /></a></p>
<p>A few weeks ago I had to create an innovative way to scroll in a page. I have seen tons of scrollbars in Flash and I found it hard to create something completely new. At one point I wondered if I could wire the scrollbar to a webcam using Actionscript&#8230; So I started experimenting around&#8230;</p>
<p>When I first started I quickly ran into a problem: How the hell do I know if anything is moving? So I actually got stuck right in the beginning.<br />
I went on a Google trip which led me to <a href="http://newmovieclip.wordpress.com/" target="_blank" target="_blank">Koen</a>&#8216;s post about <a href="http://newmovieclip.wordpress.com/2006/06/11/detect-and-locate-webcam-motion-in-flash-8/" target="_blank" target="_blank">motion detection</a>. Koen was checking all the pixels (using nested loops) to calculate color values. I figured this generated way too much overhead. There had to be a better/simpeler way.</p>
<p>In his post Koen mentioned an article, written by <a href="http://www.flashguru.co.uk/" target="_blank" target="_blank">Guy Watson</a>, concerning <a href="http://www.adobe.com/devnet/flash/articles/webcam_motion.html" target="_blank" target="_blank">an other way</a> to get motion detection going. To make things simple: Guy just takes 2 pictures &#8211; one of the previous frame, one of the current &#8211; puts them on top of eachother, and applies the difference blend mode to the upper one: Tadaaa! There we go! The &#8216;unchanged&#8217; pixels are blacked out. The remaining pixels are the difference in the picture&#8230; which reflects movement. <span id="more-355"></span></p>
<p>So I went back to Flash and put something similar together. All I had to do now was clean up the image, turn the difference remainings white, and detect what in the picture remains white.</p>
<p>That last part turned out to be quite tricky too. When I first got to that milestone I quickly checked the BitmapData class for intresting methods, but I didn&#8217;t find anything intresting. Later on, I talked to <a href="http://Peterelst.com" target="_blank" target="_blank">Peter Elst</a> and Koen at Flex Camp, and they told me to look again because there actually was a function: getColorBoundsRect()</p>
<p>There we go: that&#8217;s a solution right there! And it worked out just fine!<br />
You can test it for yourself in this <a href="http://labs.nocreativity.com/webcammotiondetection/"rel="shadowbox"  target="_blank">little test application</a> &#8211; requires a webcam (duh!)</p>
<h3>Download</h3>
<p>Flex Project source: <a href="http://labs.nocreativity.com/webcammotiondetection/source.zip">source.zip</a><br />
Webcam motion detector class (Actionscript 3): <a href="http://labs.nocreativity.com/webcammotiondetection/MotionDetector.zip">MotionDetector.zip</a></p>
<p>I was planning on adding a &#8216;sensitivity&#8217; property for motion detection but that turned out to be a bit harder. So I decided to postpone that for now (procrastination is a bitch <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )<br />
Feel free to suggest better ways of doing this. I&#8217;m still pretty sure I&#8217;m creating a bit too much overhead to make this work <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/webcam-motion-detection-coolness/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Visualizr source</title>
		<link>http://nocreativity.com/blog/visualizr-source</link>
		<comments>http://nocreativity.com/blog/visualizr-source#comments</comments>
		<pubDate>Wed, 07 Jan 2009 00:11:30 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Visualizr]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=339</guid>
		<description><![CDATA[A few people asked me for the Visualizr source. I always said I&#8217;d post it on my blog &#8216;pretty soon&#8217;&#8230; Well&#8230; It&#8217;s not pretty soon, but at least I didn&#8217;t totally forget about it. Anyway here&#8216;s the Actionscript class I made in a Flex Actionscript project I did some pretty naughty things in there, but [...]]]></description>
			<content:encoded><![CDATA[<p>A few people asked me for the <a href="http://nocreativity.com/blog/some-more-bitmapdata-and-soundspectrum-progress">Visualizr</a> source. I always said I&#8217;d post it on my blog &#8216;pretty soon&#8217;&#8230; Well&#8230; It&#8217;s not pretty soon, but at least I didn&#8217;t <em>totally</em> forget about it. Anyway <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.as" target="_blank">here</a>&#8216;s the Actionscript class I made in a Flex Actionscript project <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I did some pretty naughty things in there, but it worked out the way I wanted it&#8230; So be nice :p<br />
Make sure you have got the MP3 tracks in place <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  You&#8217;ll need at least one. Make sure you change the tracknames too.</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/visualizr-source/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The &#8216;this-is-so-cool-that-I-just-had-to-share-this-with-you&#8217;-post</title>
		<link>http://nocreativity.com/blog/the-this-is-so-cool-that-i-just-had-to-share-this-with-you-post</link>
		<comments>http://nocreativity.com/blog/the-this-is-so-cool-that-i-just-had-to-share-this-with-you-post#comments</comments>
		<pubDate>Sat, 20 Dec 2008 17:53:35 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Everything else]]></category>
		<category><![CDATA[25 lines]]></category>
		<category><![CDATA[augmented reality]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[cool]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fur]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[generative art]]></category>
		<category><![CDATA[landscape]]></category>
		<category><![CDATA[List]]></category>
		<category><![CDATA[mindblowing]]></category>
		<category><![CDATA[must see]]></category>
		<category><![CDATA[papervision3D]]></category>
		<category><![CDATA[perlin noise]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=306</guid>
		<description><![CDATA[Or short for &#8216;4 Flash experiments you must have seen&#8216;. Normally I&#8217;m completely against all those posts listing a bunch of items that somehow relate to each other in some way, but I&#8217;ve seen a few pretty amazing things lately that I just had to share with you. Fun with Fur Andre Michelle posted an [...]]]></description>
			<content:encoded><![CDATA[<p>Or short for &#8216;<span style="font-size:18px;">4 Flash experiments you must have seen</span>&#8216;.</p>
<p>Normally I&#8217;m completely against all those posts listing a bunch of items that somehow relate to each other in some way, but I&#8217;ve seen a few pretty amazing things lately that I just <em>had</em> to share with you.</p>
<p><strong>Fun with Fur</strong></p>
<p><a href="http://blog.andre-michelle.com/" target="_blank" target="_blank">Andre Michelle</a> posted an experiment of his a couple of weeks ago about <a href="http://blog.andre-michelle.com/2008/fur-like-renderings/" target="_blank" target="_blank">generating fur in Flash</a>. The results look pretty amazing. Looks like the pictures came right out of Photoshop. However he didn&#8217;t post his SWF, nor his code. So there&#8217;s no way I could use the effect on my own images. <a href="http://blog.stroep.nl" target="_blank" target="_blank">Mark Knol</a> however did post his SWF. In fact he built a fur generator that will enable you to link to your own picture, choose the correct settings for the engine to customize the furriness to your liking and then let it render your furry picture (which you can download afterwards). Isn&#8217;t that cool? Make sure to check both of them out.</p>
<p>Andre Michelle&#8217;s blogpost: <a href="http://blog.andre-michelle.com/2008/fur-like-renderings" target="_blank" target="_blank">Click</a><br />
Andre Michelle&#8217;s Flickr Fur Collection: <a href="http://www.flickr.com/photos/93579423@N00/sets/72157608481995223/" target="_blank" target="_blank">Click</a><br />
Mark Knol&#8217;s fur engine: <a href="http://projects.stroep.nl/fur/" target="_blank" target="_blank">Click</a><br />
Mark Knol&#8217;s blogpost: <a href="http://blog.stroep.nl/2008/12/fun-fur-engine/" target="_blank" target="_blank">Click</a><br />
Mark Knol&#8217;s Flick Fur pictures: <a href="http://www.flickr.com/photos/markknol/3063367578/in/photostream/" target="_blank" target="_blank">Click</a></p>
<p><span id="more-306"></span><strong>Generated Landscape</strong></p>
<p><a href="http://www.neuroproductions.be/" target="_blank" target="_blank">Kris Temmerman</a>. Don&#8217;t know that name yet? Well you should. Let me show you why.<br />
Allright, take a look at the following picture.<br />
<a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/12/perlinnoise.jpg"><img class="aligncenter size-full wp-image-307" title="Landscape" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/12/perlinnoise.jpg" alt="" width="500" height="359" /></a></p>
<p>Looks like an ordinary 3D landscape, doesn&#8217;t it? Well it isn&#8217;t! In fact it&#8217;s the result of some smart math and a perlin noise bitmap. There is no 3D involved. No Papervision3D. No collada model. Just plain old 2D generated perlin noise. Ok, this might look pretty cool already. Kris took it one step further though&#8230; What if you generate this kind of landcape on the fly, and move it?</p>
<p>View the Flash version of the image: <a href="http://www.neuroproductions.be/uploads/blog/perlinnoise.swf" target="_blank" target="_blank">Click</a><br />
Read all about it on Kris&#8217; blog: <a href="http://www.neuroproductions.be/experiments/continuous-perlin-noise/" target="_blank" target="_blank">Click</a></p>
<p><strong>Flash game in 23 lines</strong></p>
<p>Ok, this is kinda insane. <a href="http://bit-101.com/blog" target="_blank">Keith Peters</a> brought back life to the <a href="http://25lines.com" target="_blank" target="_blank">25 lines contest</a>, as <a href="http://nocreativity.com/blog/flash-coolness-revisited">I posted earlier</a>(Dutch). Only a few days ago the winners of November-December were <a href="http://www.25lines.com/?p=161" target="_blank">announced</a>. The winner &#8211; Marius Heil &#8211; made a platform game in ASCII using a custom copy-paste engine. That sounds like impossible to do in 25 lines. Marius however managed to to it in 23 lines. Come on, that&#8217;s insane. Congrats, Marius <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
The code he used was a real kick in the teeth for probably every best practice rule out there, but the result is pretty amazing. I urge you to check this out.<br />
<span style="font-size:10px;">Note: I love how you can cheat the game. Awesome!</span></p>
<p>Play SmileyBounce 25: <a href="http://www.25lines.com/finalists/0812/043.swf" target="_blank" target="_blank">Click</a><br />
View the code: <a href="http://www.25lines.com/finalists/0812/043.txt" target="_blank" target="_blank">Click</a></p>
<p><strong>Augmented reality</strong></p>
<p>That&#8217;s sounds familiar&#8230; Makes me think of artificial intelligence or something&#8230; Right? No.<br />
This is <span style="text-decoration: line-through;">pretty</span> <span style="text-decoration: line-through;">freaking cool</span> amazing. The people over at <a href="http://www.boffswana.com" target="_blank" target="_blank">Boffswana</a> have been playing with the same things that <a href="http://www.quasimondo.com/" target="_blank" target="_blank">Mario Klingemann</a> showed at <a href="http://www.headconference.com/" target="_blank" target="_blank">&lt;head&gt;</a>. In his presentation, Mario held up a paper with a square on it. Flash would show the webcame stream, look for that square on that paper and add a logo right onto it in the right perspective using a bit of Papervision3D.<br />
That sounds cool to you? Check this out: The people over at Boffswanna added another dimension to this (literally), and made an actual (animated) 3D model appear on the screen. I could explain all this, but what the heck: Just check it out for yourself.<br />
This definitely made it to a 9.5/10 on my &#8216;blow-my-mind-o-meter&#8217;.</p>
<p>View the demo: <a href="http://vimeo.com/2283082" target="_blank" target="_blank">Click</a><br />
Read everything on their site, and play with it yourself: <a href="http://www.boffswana.com/news/?p=392" target="_self" target="_blank">Click</a></p>
<p>So that&#8217;s it. If none of this made your jaw drop to the floor, I&#8217;d love to see your portfolio and experiments right away. <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> </p>
<p>Feel free to link to other cool projects in the comments <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/the-this-is-so-cool-that-i-just-had-to-share-this-with-you-post/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Some more bitmapdata and soundSpectrum progress</title>
		<link>http://nocreativity.com/blog/some-more-bitmapdata-and-soundspectrum-progress</link>
		<comments>http://nocreativity.com/blog/some-more-bitmapdata-and-soundspectrum-progress#comments</comments>
		<pubDate>Sun, 30 Nov 2008 13:17:15 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[Bitmapdata]]></category>
		<category><![CDATA[computeSpectrum]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Generative]]></category>
		<category><![CDATA[MP3]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[Playr]]></category>
		<category><![CDATA[SoundMixer]]></category>
		<category><![CDATA[SoundSpectrum]]></category>
		<category><![CDATA[Visualization]]></category>
		<category><![CDATA[Visualizr]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=255</guid>
		<description><![CDATA[Today I found some time to mess around with bitmapdata and computeSpectrum again. I&#8217;ve been playing with this earlier, but didn&#8217;t quite get where I wanted to be. A few weeks ago I came up with a better way of rendering the soundTunnel. That resulted in some crazy cool shit, which I finished off today. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-30.jpg"><img class="aligncenter size-full wp-image-267" title="picture-30" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-30.jpg" alt="" width="500" height="297" /></a></p>
<p>Today I found some time to mess around with bitmapdata and computeSpectrum again. I&#8217;ve been playing with this earlier, but didn&#8217;t quite get where I wanted to be. A few weeks ago I came up with a better way of rendering the soundTunnel. That resulted in some crazy cool shit, which I finished off today.</p>
<p>I won&#8217;t go into technical details here (yet). I just wanted you guys to see the result.</p>
<p><strong>Demo</strong></p>
<p>Click <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html" target="_blank">here</a> <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
And just to make sure it is actually reacting to the sound, try the following links too</p>
<ul>
<li>Song 1: <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=1" target="_blank">Click</a></li>
<li>Song 2: <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=2" target="_blank">Click</a></li>
<li>Song 3: <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=3" target="_blank">Click</a> (default)<a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=1" target="_blank"><br />
</a></li>
<li>Song 4: <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=4" target="_blank">Click</a></li>
<li>Song 5: <a href="http://labs.nocreativity.com/soundCoolness/Visualizr.html?s=5" target="_blank">Click</a></li>
</ul>
<p><strong>Controls</strong></p>
<ul>
<li>F: Go full screen</li>
<li>S: Freeze visualization</li>
<li>Click: Change color (happens automatically too)</li>
</ul>
<p><span id="more-255"></span></p>
<p><strong>Screenshots</strong></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-19.jpg"><img class="aligncenter size-full wp-image-256" title="picture-19" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-19.jpg" alt="" width="500" height="294" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-20.jpg"><img class="aligncenter size-full wp-image-257" title="picture-20" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-20.jpg" alt="" width="499" height="298" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-211.jpg"><img class="aligncenter size-full wp-image-258" title="picture-211" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-211.jpg" alt="" width="500" height="299" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-22.jpg"><img class="aligncenter size-full wp-image-259" title="picture-22" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-22.jpg" alt="" width="499" height="297" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-23.jpg"><img class="aligncenter size-full wp-image-260" title="picture-23" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-23.jpg" alt="" width="500" height="293" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-24.jpg"><img class="aligncenter size-full wp-image-261" title="picture-24" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-24.jpg" alt="" width="500" height="294" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-25.jpg"><img class="aligncenter size-full wp-image-262" title="picture-25" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-25.jpg" alt="" width="500" height="295" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-26.jpg"><img class="aligncenter size-full wp-image-263" title="picture-26" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-26.jpg" alt="" width="500" height="297" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-27.jpg"><img class="aligncenter size-full wp-image-264" title="picture-27" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-27.jpg" alt="" width="500" height="296" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-28.jpg"><img class="aligncenter size-full wp-image-265" title="picture-28" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-28.jpg" alt="" width="500" height="297" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-29.jpg"><img class="aligncenter size-full wp-image-266" title="picture-29" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-29.jpg" alt="" width="500" height="299" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-31.jpg"><img class="aligncenter size-full wp-image-268" title="picture-31" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-31.jpg" alt="" width="499" height="297" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-32.jpg"><img class="aligncenter size-full wp-image-269" title="picture-32" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-32.jpg" alt="" width="500" height="298" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-33.jpg"><img class="aligncenter size-full wp-image-270" title="picture-33" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-33.jpg" alt="" width="500" height="297" /></a></p>
<p><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-34.jpg"><img class="aligncenter size-full wp-image-271" title="picture-34" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/picture-34.jpg" alt="" width="500" height="297" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/some-more-bitmapdata-and-soundspectrum-progress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playr 2.0 is coming!</title>
		<link>http://nocreativity.com/blog/playr-20-is-coming</link>
		<comments>http://nocreativity.com/blog/playr-20-is-coming#comments</comments>
		<pubDate>Wed, 12 Nov 2008 13:21:35 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Everything else]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Open-source]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[ASP]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Playr 2.0]]></category>
		<category><![CDATA[PlayrDiscovr]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=232</guid>
		<description><![CDATA[I just wanted to update you guys on how the update for the next version of Playr is progressing. In the past week, I&#8217;ve been pretty busy adding the finishing  touches to the features and fixing the last few bugs that popped up. Most of the last-minute changes are a result of using the class [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted to update you guys on how the update for the next version of <a href="http://nocreativity.com/blog/playr-de-actionscript-3-music-player-class" target="_blank">Playr</a> is progressing.</p>
<p>In the past week, I&#8217;ve been pretty busy adding the finishing  touches to the features and fixing the last few bugs that popped up. Most of the last-minute changes are a result of using the class in <a href="http://nocreativity.com/blog/my-latest-project-walter-ego" target="_blank">one of my own projects</a>.</p>
<p>It&#8217;s then when I realized I&#8217;m missing some key features like adding the music directory, and some properties of the PlayrEvents. I also added some ear candy like fadeIn() and fadeOut() methods.</p>
<p>On a more functional note: I&#8217;ve abstracted the playlist to an independent class. So now you&#8217;re provided with lots and lots of ways to customize and manage your playlists.</p>
<p>The shuffle mode is now smart. In English that means the playlist remembers what songs have played and which ones haven&#8217;t.</p>
<p>Finally I&#8217;m happy to tell you guys won&#8217;t ever have to write an XML playlist file yourself. I&#8217;ve got a <a href="http://nocreativity.com/blog/playrdiscovr-de-playlistxml-bouwer" target="_blank">PHP4</a> and <a href="http://nocreativity.com/blog/playrdiscovr-update" target="_blank">PHP5</a> version of PlayrDiscovr which reads a directory and returns the corresponding XML listing the tracks and their properties.<br />
On top of that, I&#8217;ve got some help from other people (I still need to contact you guys) who are willing to help me out with building PlayrDiscover in ASP, Ruby and Python.</p>
<p>Even though I&#8217;m listing all of the new features, the Playr class is still the easiest way of implementing any kind of sound-feature in any Flash/Flex/AIR application. But the simplicity shouldn&#8217;t be a limitation, which it isn&#8217;t: you&#8217;re still able to build full-feature media-playing applications.</p>
<p>One of the little challenges I still have to tackle is the Tween problem. I&#8217;ve implemented fadeIn() and fadeOut() methods. Those methods actually tween the volume property of the Playr instance. The problem with that is when using the Playr class in a Flex project, you get a cool error message telling you it can&#8217;t import fl.transitions (which is the class package for the Tween class and the easing package).<br />
I still haven&#8217;t figured out how to work around this problem. If any of you have any suggestion on this problem, feel free to tell me about it.</p>
<p>I plan on releasing Playr 2.0 in the coming week (or 2) depending on PlayrDiscovr impementations, final changes, demo&#8217;s and site development (yes, I&#8217;m building a dedicated site for Playr <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) Feel free to suggest other implementations you&#8217;d like <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/playr-20-is-coming/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My latest project: Walter Ego</title>
		<link>http://nocreativity.com/blog/my-latest-project-walter-ego</link>
		<comments>http://nocreativity.com/blog/my-latest-project-walter-ego#comments</comments>
		<pubDate>Mon, 03 Nov 2008 22:58:01 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Playr 2.0]]></category>
		<category><![CDATA[Walter Ego]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=207</guid>
		<description><![CDATA[Some of you guys already knew, but only 2 weeks ago I finished my latest project: WALTER EGO. Walter Ego is a Dutch rapper who happens to live in Nieuwpoort. A few months back, Walter contacted me, and we started brainstorming about the new website. At some point he told me that I should make [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-208" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/4ef29d.jpg" alt="" width="500" height="342" /></p>
<p>Some of you guys already knew, but only 2 weeks ago I finished my latest project: <a href="http://walterego.be" target="_blank" target="_blank">WALTER EGO</a>.<br />
Walter Ego is a Dutch rapper who happens to live in Nieuwpoort.</p>
<p>A few months back, Walter contacted me, and we started brainstorming about the new website. At some point he told me that I should make this website my masterpiece&#8230;</p>
<p style="padding-left: 30px;"><em>If you&#8217;d die now, this is what people should remember you for.</em>..</p>
<p>Well&#8230; At least expectations weren&#8217;t high, right? <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A year ago I built the first edition of this website, which was pretty basic. Back then I used ColdFusion to build the administration panel. This time I built it using PHP.<br />
I have to say that this project clearly improved my PHP skills. While I was building the backend, I was focusing on modular development, so I could reuse a lot of the written code. A lot of people suggested using the ZendFramework but since I&#8217;ve been looking into this a few times without making any progress, I just skipped that chapter (after all: we&#8217;re all bound by deadlines <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) and went on developing my own framework (&#8216;framework&#8217; might be slightly exaggerating though).<span id="more-207"></span></p>
<p>I am pretty proud of the result, since everything I wanted to do, actually came through, and made it to the final result. While building this site, I really enjoyed seeing progress, and experimenting with the visual effects. I learned quite a lot during this project, which is really really cool! I even got to work with the Playr 2.0a class, only to realize it still needs a lot of work.</p>
<p>I even got to hack my way through the Youtube API and the Youtube AS2 SWF, to get a clean FLV file, which I then could easily stream to the video section of the site. That was pretty uncool. I never expected Youtube to return an AS2 SWF file. I expected an FLV file. Man, have I been wrong!<br />
The main reason for Youtube to return a SWF is to embed all kind of extra features (such as captioning for example). And finally, Youtube not having an AS3 version of this made me want to start screaming.</p>
<p>All in all, this project was a fun project: I had many challenges to tackle, and in the end I delivered a quite unique product (at least, that&#8217;s what I like to think :p ).<br />
Just 2 days ago, at midnight, Walter Ego released his first CD, which you can download freely from the site. If you understand Dutch, you might be interested in what this talented rapper has to say.<br />
Download the CD <a href="http://walterego.be/downloads/" target="_blank" target="_blank">here</a>.</p>
<p>Some screenshots:</p>
<div id="attachment_215" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-588.jpg"><img class="size-thumbnail wp-image-215" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-588-150x150.jpg" alt="The video page streaming from Youtube" width="150" height="150" /></a><p class="wp-caption-text">The video page streaming from Youtube</p></div>
<div id="attachment_211" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-586.jpg"><img class="size-thumbnail wp-image-211" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-586-150x150.jpg" alt="Administration Panel :: Guestbook section" width="150" height="150" /></a><p class="wp-caption-text">Administration Panel :: Guestbook section</p></div>
<div id="attachment_210" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-585.jpg"><img class="size-thumbnail wp-image-210" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-585-150x150.jpg" alt="Administration Panel :: Home section" width="150" height="150" /></a><p class="wp-caption-text">Administration Panel :: Home section</p></div>
<div id="attachment_213" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-5861.jpg"><img class="size-thumbnail wp-image-213" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-5861-150x150.jpg" alt="Alternate HTML content for Google" width="150" height="150" /></a><p class="wp-caption-text">Alternate HTML content for Google</p></div>
<div id="attachment_212" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-5851.jpg"><img class="size-thumbnail wp-image-212" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-5851-150x150.jpg" alt="Administration panel :: Pictures section" width="150" height="150" /></a><p class="wp-caption-text">Administration panel :: Pictures section</p></div>
<div id="attachment_214" class="wp-caption alignleft" style="width: 160px"><a href="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-587.jpg"><img class="size-thumbnail wp-image-214" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/11/afbeelding-587-150x150.jpg" alt="About page" width="150" height="150" /></a><p class="wp-caption-text">About page</p></div>
<p><br style="clear:both" /><br />
URL: <a href="http://walterego.be" target="_blank" target="_blank">WalterEgo.be</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/my-latest-project-walter-ego/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bitmapdata == 201% coolness: World 360</title>
		<link>http://nocreativity.com/blog/bitmapdata-is-201-procent-coolness-world-360</link>
		<comments>http://nocreativity.com/blog/bitmapdata-is-201-procent-coolness-world-360#comments</comments>
		<pubDate>Mon, 13 Oct 2008 22:23:22 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Bitmapdata]]></category>
		<category><![CDATA[Experimenten]]></category>
		<category><![CDATA[Group 94]]></category>
		<category><![CDATA[Panorama]]></category>
		<category><![CDATA[Pre-rendering]]></category>
		<category><![CDATA[World 360]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=166</guid>
		<description><![CDATA[Sommigen die mij op Twitter volgen weten zonder twijfel wat ik bedoel als ik het over &#8216;world 360&#8242; heb. Degenen die dat niet weten: Welkom in een trip door mijn absoluut geschifte brein. De term World 360 heb ik in feite gewoon bedacht/gekozen omdat we van een 360 graden panorama foto een &#8216;wereldbol&#8217; maken. Op [...]]]></description>
			<content:encoded><![CDATA[<p>Sommigen die mij op <a href="http://twitter.com/babyC/" target="_blank" target="_blank">Twitter</a> volgen weten zonder twijfel wat ik bedoel als ik het over &#8216;world 360&#8242; heb. Degenen die dat niet weten: Welkom in een trip door mijn absoluut geschifte brein.<br />
De term World 360 heb ik in feite gewoon bedacht/gekozen omdat we van een 360 graden panorama foto een &#8216;wereldbol&#8217; maken.</p>
<p><a href="http://nokia.com/nonstopliving" target="_blank" target="_blank"><img class="aligncenter size-full wp-image-167" title="world360" src="http://nocreativity.com/blog-engine/wp-content/uploads/2008/10/world360.jpg" alt="" width="500" height="303" /></a></p>
<p>Op <a href="http://multi-mania.be" target="_blank" target="_blank">MultiMania 2008</a> heb ik <a href="http://group94.com" target="_blank" target="_blank">Group 94</a> gezien, en hebben ze enkele van hun projecten en trukjes blootgelegd. Een behind the scenes van het waarschijnlijk meest gerenomeerde webdesign- en multimedia bedrijf van België (volgens mijn bescheiden mening). Ze lieten onder andere de <a href="http://archive.group94.com/nokianonstopliving/" target="_blank" target="_blank">Nokia &#8211; Non Stop Living</a> site zien; een site waar ik al langer van wist. Ik was altijd compleet onder de indruk van de effecten en transitions die deze site te bieden heeft.</p>
<p>Lange tijd heb ik me afgevraagd hoe alles in zijn werk gaat. Op een dag wou ik het weten en begon ik m&#8217;n hoofd te breken in Flash en Actionscript 3. Op MultiMania wist Julian (Group 94 member) te vertellen dat de &#8216;intro animatie&#8217; on-the-fly opgebouwd werd (aan de hand van ActionScript). Ik vond dat best wel een gewaagde zaak, aangezien het toch veiliger was geweest als men die intro had gerenderd, en dan als video had gebruikt in het project.<br />
Maar voor mij maakte dat opeens allemaal niet meer uit: Ik wou het ook voor elkaar krijgen.<span id="more-166"></span></p>
<p>Ik heb hiervoor verschillende keren moeten herbeginnen. Maar stap voor stap kwam ik dichterbij wat ik wou bereiken. Ik dacht eerst dat het grootste probleem het &#8216;in stukken knippen&#8217; ging zijn. Maar dat bleek niet waar te zijn. Integendeel: Dat was zelfs erg makkelijk. Het werd pas moeilijk als ik de individuele onderdelen wou gaan animeren. 360 bitmaps bijna simultaan tweenen is niet bepaald processor vriendelijk, zo bleek.</p>
<p>Eens ik daar geraakt was, was ik al vrij tevreden: het uiteindelijke effect was er al. Nu alleen nog wat machinevriendelijker maken. Maar daar was het probleem. Ik bedacht mij of er geen mogelijkheid was om on-the-fly een sequentie aan beelden te maken. Al vlug gaf ik het idee op, en ben ik nooit aan de code begonnen. In mijn hoofd zag ik namelijk het RAM geheugen door het dak gaan.</p>
<p>Enkele weken later las ik op <a href="http://www.bit-101.com/blog/" target="_blank" target="_blank">Keith Peters&#8217; blog</a> dat Julian van Group 94 het effectief <a href="http://www.bit-101.com/blog/?p=1544#comment-252844" target="_blank" target="_blank">op die manier had aangepakt</a>. Ik moest het dus ook proberen op die manier&#8230; En wat bleek: Het werkte! (DUHH!)<br />
Ik kreeg het voor elkaar om de animatie te pre-renderen en daarna te laten weergeven. Het resultaat was één smooth-as-fuck animatie. Enige probleem: het RAM geheugen leidde er (zoals ik had voorspeld) echt onder. 900-950MB voor de 380 frames van de animatie.</p>
<p>Ik heb er lang op gezocht, maar de sleutel tot succes bleek gewoon een wat kleinere bitmap te zijn. Door de afmetingen van de bitmaps deels aan te passen slaagde ik erin om 600MB af te knippen. Het resultaat gebruikte 250-300MB, een veel redelijker getal.</p>
<p>Ik ben al erg fier op het gehaalde resultaat. Hieronder kun je de verschillende fases van mijn vooruitgang zien. Ik was van plan om de bron hiervan vrij te geven, maar ik wil het nog even voor mezelf houden om zelf nog wat meer zaken uit te pluizen. <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Basic versie: <a href="http://labs.nocreativity.com/rendering/twee.html" target="_blank">Twee</a>.<br />
Real time animation versie: <a href="http://labs.nocreativity.com/rendering/Zeven.html" target="_blank">Zeven</a>.<br />
Full blown prerendering (kan je browser crashen indien tekort aan geheugen): <a href="http://labs.nocreativity.com/rendering/Acht.html" target="_blank">Acht</a>.<br />
Optimized prerendering: <a href="http://labs.nocreativity.com/rendering/Negen.html" target="_blank">Negen</a>.</p>
<p>De volgende stap is nu om te zien hoe Julian en zijn collega&#8217;s deze <em>ronde wereld</em> laten &#8216;openplooien&#8217; tot <em>rechte wereld</em>&#8230;  Lijkt me allemaal nog net iets gecompliceerder te worden nu&#8230;</p>
<p>PS: als iemand een leukere panorama afbeelding te bieden heeft: aarzel niet om suggesties te posten. Ik ben de huidige zowat beu gezien <img src='http://nocreativity.com/blog-engine/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/bitmapdata-is-201-procent-coolness-world-360/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flash coolness revisited</title>
		<link>http://nocreativity.com/blog/flash-coolness-revisited</link>
		<comments>http://nocreativity.com/blog/flash-coolness-revisited#comments</comments>
		<pubDate>Wed, 03 Sep 2008 19:03:09 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[25 lijnen]]></category>
		<category><![CDATA[25 lines]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Adobe CS4]]></category>
		<category><![CDATA[Creative Suite 4]]></category>
		<category><![CDATA[Keith Peters]]></category>
		<category><![CDATA[wedstrijd]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=137</guid>
		<description><![CDATA[Flash was tot ongeveer 2-3 jaar geleden een tool om coole animaties mee te maken, en de bezoeker helemaal weg te blazen. Tegenwoordig wordt Flash vooral ingezet om applicaties mee te maken, en komt &#8216;coole shit&#8217; minder aan bod. Keith Peters wilt hier een ommekeer aan geven, en blaast de welgekende 25-lijnen wedstrijd weer nieuw [...]]]></description>
			<content:encoded><![CDATA[<p>Flash was tot ongeveer 2-3 jaar geleden een tool om coole animaties mee te maken, en de bezoeker helemaal weg te blazen. Tegenwoordig wordt Flash vooral ingezet om applicaties mee te maken, en komt &#8216;coole shit&#8217; minder aan bod. <a href="http://www.bit-101.com/blog/" target="_blank" target="_blank">Keith Peters</a> wilt hier een ommekeer aan geven, en blaast de welgekende <a href="http://www.25lines.com/" target="_blank" target="_blank">25-lijnen wedstrijd</a> weer nieuw leven in.<span id="more-137"></span></p>
<p>Maak aan de hand van 25 lijnen code, iets supercool. Wat is de beloning? Naast eeuwige roem en awesomeness geeft Adobe elke maand een <a href="http://www.25lines.com/?p=56" target="_blank" target="_blank">Adobe CS4 Master Collection weg aan de winnaar</a>! Dus het is echt de moeite om elke maand opnieuw te proberen!</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/flash-coolness-revisited/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>De boze boze garbage collector in ActionScript 3</title>
		<link>http://nocreativity.com/blog/de-boze-boze-garbage-collector-in-actionscript-3</link>
		<comments>http://nocreativity.com/blog/de-boze-boze-garbage-collector-in-actionscript-3#comments</comments>
		<pubDate>Wed, 18 Jun 2008 16:04:21 +0000</pubDate>
		<dc:creator>Ronny</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Garbage collector]]></category>
		<category><![CDATA[Scope]]></category>
		<category><![CDATA[Tweens]]></category>

		<guid isPermaLink="false">http://nocreativity.com/blog/?p=115</guid>
		<description><![CDATA[Sinds ik vorig jaar in september begonnen ben met ActionScript 3 te leren, en te gebruiken, ben ik al veel op het probleem gestoten waar ik niet-werkende, of maar half-werkende (ActionScript) tweens kreeg. Ik dacht altijd dat het aan mijn slechte coding skills lag, maar op termijn begon ik toch wat meer zelfvertrouwen krijgen, en [...]]]></description>
			<content:encoded><![CDATA[<p>Sinds ik vorig jaar in september begonnen ben met ActionScript 3 te leren, en te gebruiken, ben ik al veel op het probleem gestoten waar ik niet-werkende, of maar half-werkende (ActionScript) tweens kreeg. Ik dacht altijd dat het aan mijn slechte coding skills lag, maar op termijn begon ik toch wat meer zelfvertrouwen krijgen, en besefte ik dat het probleem niet zozeer bij mij lag.</p>
<p>Tijdens het ontwikkelen van de site voor mijn eindwerk in december liep de emmer over: Alweer een project waarin het ActionScript tweenen niet wilde lukken. <a href="http://blog.desaturated.be/" target="_self" target="_blank">Gerrit</a> kwam me helpen, en na even zoeken kon hij me vertellen dat de fout inderdaad niet bij mij lag, maar bij de <a href="http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)" target="_blank" target="_blank">garbage collector</a> in de Flash Player.<br />
Mijn probleem was vanaf dan opgelost, en in elk project waar ik nu ActionScript-matige tweens aanmaak kan ik dat probleem meteen uit de weg gaan, maar ik zie nog enorm veel vragen opduiken waarin dit exact zelfde probleem besproken wordt.<span id="more-115"></span></p>
<p><strong>Hoe ontstaat dit probleem?<br />
</strong>Het probleem zelf ontstaat (voor zover ik het heb gezien) als je in een functie/handler een lokale tween aanmaakt, zonder externe referenties te behouden.</p>
<p style="padding-left: 30px;">Voorbeeld:</p>
<pre class="brush: actionscript">function someHandler(e:Event):void{
var tween:Tween = new Tween(someMC,&#039;scaleX&#039;,Regular.easeOut,0,1,5,true);
}</pre>
</p>
<p>In bovenstaand voorbeeld wordt de functie someHandler opgeroepen eens er een event gedispatched wordt. Op dat moment wordt een tween aangemaakt in de scope van die functie. Eens deze functie doorlopen is, wordt deze verlaten, en zomee is deze scope niet meer in gebruik. Er is op dat moment geen referentie meer naar je tween object, dat je zonet hebt aangemaakt.</p>
<p>De garbage collector verwijdert variablen/objecten aan de hand van die referenties: Als er objecten zijn in scopes waar niets meer naar verwijst, is dat &#8216;garbage&#8217; en kan zomee verwijderd worden.<br />
Het tween object is hier ook onderhevig aan: Eens je de scope van die someHandler functie verlaat, is er geen referentie meer aanwezig naar je tween object, ookal is die visueel actief op de stage van je Flash movie. Als de garbage collector van de Flash Player dan voorbij komt om op te ruimen wordt je tween object verwijderd: op het scherm stopt je tween voordat hij klaar is.</p>
<p><strong>De oplossing?</strong><br />
Er zijn verschillende manieren om de garbage collector te vertellen dat we ons tween object nog nodig hebben.</p>
<ul>
<li>We declareren de tween globaal. Hiermee zal hij altijd in main scope aanwezig zijn, en zomee niet verwijderd worden tenzij wij dat zelf aangeven.</li>
<li>We kunnen diezelfde globale tween &#8216;hergebruiken&#8217; in diepere scopes. (Handig als je maar 1 tween hebt, waarvan je zeker weet dat hij zichzelf nooit zal overschrijven/vervangen.)</li>
<li>We maken een globale array aan, waar we elke tween aan toevoegen. Op die manier is er ten alle tijde een referentie naar ons tween object, en zal de garbage collector het niet kunnen verwijderen, tenzij we de tween uit de array verwijderen.</li>
</ul>
<p>De laatste oplossing heeft mij al veel gediend, en is weinig moeite.</p>
<p style="padding-left: 30px;">
<pre class="brush: actionscript">var garbage:Array = new Array();
function someHandler(e:Event):void{
var tween:Tween = new Tween(someMC,&#039;scaleX&#039;,Regular.easeOut,0,1,5,true);
garbage.push(tween);
}</pre>
</p>
<p><span style="text-decoration: line-through;">Dit is een nogal onprofessionele manier</span> Ik vind dit nogal een vuile manier om het probleem uit de wereld te helpen, maar het is wel de essentie van de oplossing.<br />
Bij extreem veel tweens in een applicatie die lang in gebruik is, is het misschien geen slecht idee om die array af en toe wat uit te kuisen: Tweens die niet meer gebruikt worden uit deze array verwijderen.</p>
<p>Er zijn mensen die me zeggen dat het gebruik van Tweener of TweenLite dit probleem ook meteen oplost. Ikzelf heb nog niet genoeg met Tweener gewerkt om daar zelf een oordeel over te kunnen vellen.</p>
<p>Ik hoop dat ik hier een aantal mensen kan mee helpen, gezien dit toch een populair probleem schijnt te blijven.</p>
]]></content:encoded>
			<wfw:commentRss>http://nocreativity.com/blog/de-boze-boze-garbage-collector-in-actionscript-3/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

