<?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>[mck] &#187; Flash</title>
	<atom:link href="http://www.matthijskamstra.nl/blog/index.php/category/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.matthijskamstra.nl/blog</link>
	<description>a polymath zapper</description>
	<lastBuildDate>Fri, 27 Jan 2012 22:32:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>2011 vs 2012</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2012/01/06/2011-vs-2012/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2012/01/06/2011-vs-2012/#comments</comments>
		<pubDate>Fri, 06 Jan 2012 14:23:45 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[being a dad]]></category>
		<category><![CDATA[Brummble]]></category>
		<category><![CDATA[Dolly Oblong]]></category>
		<category><![CDATA[Graffiti]]></category>
		<category><![CDATA[haXe]]></category>
		<category><![CDATA[LoaderMax]]></category>
		<category><![CDATA[Marshall Alexander]]></category>
		<category><![CDATA[Nick Knite]]></category>
		<category><![CDATA[Papercraft]]></category>
		<category><![CDATA[PaperToy]]></category>
		<category><![CDATA[PaperToys]]></category>
		<category><![CDATA[Robotlegs]]></category>
		<category><![CDATA[Sneakerness]]></category>
		<category><![CDATA[toy designers]]></category>
		<category><![CDATA[Urban]]></category>
		<category><![CDATA[Urban papercraft]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1778</guid>
		<description><![CDATA[Update #1: I joint a gym to learn how to KickBoxing and Muay Thai! Here is the link to the site: http://www.samuraisports.nl/ (little warning: this website is not a beauty) Update #2: Brummble the papertoy tribute to ThreeA vinyl: Heavy Bramble is online and ready for downloading: here. It&#8217;s been a while &#8230; haven&#8217;t posted [...]]]></description>
			<content:encoded><![CDATA[<div class="update"><strong>Update #1:</strong> I joint a gym to learn how to KickBoxing and Muay Thai! Here is the link to the site: <a href="http://www.samuraisports.nl/" target="_blank">http://www.samuraisports.nl/</a> (little warning: this website is not a beauty)</div>
<div class="update"><strong>Update #2:</strong> Brummble the papertoy tribute to ThreeA vinyl: Heavy Bramble is online and ready for downloading: <a href="http://www.matthijskamstra.nl/blog/?p=1789">here</a>.</div>
<p>It&#8217;s been a while &#8230; haven&#8217;t posted anything regular in a&#8230; year.<br />
That would have been the year 2011: the year I became for the first time a dad.</p>
<p>So here a little update (for the one person who still reads this blog).</p>
<h3>2011 and a little bit before that</h3>
<p>I had big plans; I wanted to show everybody that my live didn&#8217;t change when I got a kid&#8230;<br />
Boy&#8230;was I mistaken.<br />
Don&#8217;t get me wrong: <strong>this has been the best year of my live!!</strong><br />
But the things I wanted to do this year, the plans I made&#8230; nothing of that happened.<br />
My daughter happened! and everything else followed <strong>HER</strong> plans.</p>
<p>I wanted to be a part of her live and not only look after her in the weekends.<br />
My girlfriend and I both decided to have a 4 days work week so my daughter only has to goes to the daycare center for 3 days.<br />
The employer I was working for at that time didn&#8217;t want me to work 4 days. I tried to use a dutch-law: they said they would take me to court, etc, etc.<br />
I don&#8217;t want to make this post about my former employer (if you want to know more about this story, just ask), so I decide that it would be best for the both of us to find another job (1.5 month before my daughter was born&#8230;. I know: I&#8217;m still bitter about that).<br />
But here is the good news (remember: the best year of my live) I found a great new job at <a href="http://www.noprotocol.nl" target="_blank">noprotocol.nl</a>!!!<br />
I could work there for 4 days, they are very flexible and an awesome group of talented people.<br />
<strong>AND</strong> I didn&#8217;t miss anything daughter-related stuff, which I can recommend every dad to do: <strong>have a day alone with you kid</strong>.</p>
<p>So the first 6 month of the year 2011 is mostly about being a dad (boring stuff for people who don&#8217;t have kids, nothing to explain to the people who have them). </p>
<p>Professionally (during the day I&#8217;m a Flash Designer/Developer) I learned about <a href="http://www.robotlegs.org/" target="_blank">Robotlegs</a>, <a href="https://github.com/epologee/navigator-as3" target="_blank">AS3-navigator</a>, <a href="http://www.greensock.com/loadermax/" target="_blank">LoaderMax</a>, etc. Had some interesting talks with the people of &#8220;the bigger boat&#8221; (group of freelancers). AND I can do the job in 4 days (sometimes with some creative time-management from my employer and myself) which I knew would be possible, but conformation is alway nice.<br />
In the next 6 months of 2011 I started to think about what I wanted. What makes me happy, what is making me happy right now and what will make me happy in the future. I miss the feeling I had when I started to work as a junior designer: wanting to learn EVERYTHING to become a senior. But now I am a senior&#8230; what&#8217;s next? Do I want to be a programmer for the rest of my live? Questions that are not answered yet.</p>
<p>I&#8217;m also a papertoy designer (something I do at night). This year was not a good year for papertoys: I needed my sleep!<br />
I have done 1 exhibition in Amsterdam and I did an exhibit at Sneakerness Amsterdam (also the first time that I sold papertoys).<br />
Both exhibition was done the rest of the dutch papertoy designers (<a href="http://www.3eyedbear.com/" target="_blank">3eyedbear</a>, <a href="http://www.marshallalexander.net/" target="_blank">Marshall Alexander</a>, <a href="http://blog.dollyoblong.com/" target="_blank">Dolly Oblong</a>) and one german papertoy designer (<a href="http://www.nickknite.com/blog/" target="_blank">Nick Knite</a>).<br />
For these events I made 2 new papertoys, but they will not be downloadable. Nick Knite and myself wanted to organize a papertoy calendar with papertoy designers we both like&#8230; sadly I had to cancel that: no time to start/finish it <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
All and all not very productive year.</p>
<h3>2012</h3>
<p>My live (and this blog) is more than just one specialty. So here a short list:</p>
<h4>Flash / Development</h4>
<p>This is my job, this is how I make a living&#8230; and Flash is Dead! (again). I&#8217;m not worried so I will keep learning even more about that subject. But I need more! I have made a small CMS in 4 weeks in PHP (what an ugly language is that!) but that didn&#8217;t excited me much.<br />
So I want to learn <a href="http://www.haxe.org" target="_blank">haXe</a>! I&#8217;m quite excited about this language so I will be writing about that soon.<br />
I would love to lead a team&#8230; or join a group of flash/geek-superstars (whatever moves me forward)<br />
I want to finish what I have started in 2011: </p>
<ul>
<li>finalize (and improve) my project setup.</li>
<li>automate the stuff that I have to do over-and-over-again</li>
</ul>
<p>Find out how a senior finds his &#8220;what&#8217;s next&#8221;<br />
Start having coffee-meeting with the industry tech-directors/tech-team leaders/etc to answer BIG question<br />
Will be joining the after-work-drink-on-friday with my colleagues more often (once a month)</p>
<p><a name="papertoy"></a><br />
<h4>Urban Papercraft / papertoy</h4>
<p>I really have no plans for papertoys: I used to do this to relax, but last year I relaxed by sleeping.<br />
There is still two books I wanted to write&#8230;. but I can&#8217;t promise that it will be finished this year.<br />
You can always ask me for a workshop or lecture about papertoys: just let me know!</p>
<p>The graffiti inspired papertoys I do will not be downloadable: that will be my art and art can&#8217;t be given away <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
So what can the fans download? I have created a toy based upon 3A vinyl toy: Brummble. That will be released very soon.<br />
And more perhaps? Not really a plan for that but sometimes I get a tickle and that needs to be scratched&#8230; and the product of that scratching (now this metaphor is getting dirty) will be downloadable.<br />
<em>Can you ask me for exhibitions?</em> Yes, please do. I like the idea that my work is art and not only a (paper)-toy.<br />
That is also the reason that I have titled this paragraph &#8220;Urban&#8221;: urban-art, urban-toy, urban-paper that&#8217;s what I will be making.<br />
<em>Can you ask me for a papertoy book?</em> Yes, please do. I have worked on two books with much pleasure and would be honored to asked for another.<br />
<em>Can you ask me for a custom?</em> Yes you can&#8230; but time is very precious right now. So your project must be VERY interesting.<br />
I have promised to finish a custom <a href="http://oh-sheet.com/zealot_guard.html" target="_blank">Zealot Guard</a> from Abz, and that is what I will do. Why do this custom? This is a VERY exciting project by a (perhaps the only) female papertoy designer.<br />
There are some plans to visit Germany for some workshops, but other than that I have no idea.<br />
2012 will reveal itself to me as it goes towards 2013 <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<h4>Blog</h4>
<p>Now I have some energy back in the evening I will be writing again on this blog, but not as often as I did before 2011. I used to write every week. That will change to once a month: a &#8216;big&#8217; post. The &#8216;big&#8217; post will be a tutorial or something else that needs more explaining. That will mean that there will be at least 12 more posts. Between these &#8216;big&#8217; posts there will be some papertoy related images (minimal writing).<br />
I will be writing about haXe, so that will be exciting (for programmers). I think I can be of some help making haXe more accessible for the &#8216;normal&#8217; programmer.</p>
<p>That is not the only way to follow me: <a href="http://twitter.com/matthijskamstra">I have a twitter account</a>.  here I talk about everything that interests me (design/development/sneakers/games/video/whatever)</p>
<h4>Misc</h4>
<p>When my daughter was born I quit the gym (it was too expensive). I wanted to find something cheaper&#8230; It turned out to be very cheap: I didn&#8217;t join a gym but I also didn&#8217;t do something else. This year I will be joining a gym&#8230;. and to be very specific: I want to try Kickboxing!<br />
Another thing that I will do, or stop doing&#8230; Is doing things for free. And that goes also for friends and family; they will pay (not necessarily with money, but for free doesn&#8217;t work for me anymore)</p>
<blockquote><p>I&#8217;m looking forward to 2012!</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2012/01/06/2011-vs-2012/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FDT and ANT &#8211; part 2</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/09/29/fdt-and-ant-part-2/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/09/29/fdt-and-ant-part-2/#comments</comments>
		<pubDate>Wed, 29 Sep 2010 08:00:19 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ANT]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1593</guid>
		<description><![CDATA[Trying to build the ultimate build.xml in ANT: debug/production zip ftp version &#8230; etc: will save a lot of keystrokes in FDT4 source: http://twitter.com/MatthijsKamstra/statuses/25194997777 All the information about the ultimate build.xml can be found on the internet, so I will post the links and you can figure it out for yourself. I used the build.xml [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Trying to build the ultimate build.xml in ANT: debug/production zip ftp version &#8230; etc: will save a lot of keystrokes in FDT4</p></blockquote>
<p>source: <a href="http://twitter.com/MatthijsKamstra/statuses/25194997777">http://twitter.com/MatthijsKamstra/statuses/25194997777</a></p>
<p>All the information about the ultimate build.xml can be found on the internet, so I will post the links and you can figure it out for yourself.</p>
<p>I used the build.xml made by Jankees van Woezik (<a href="http://blog.base42.nl">Base 42</a>) as the base of my ultimate ANT build file. You can read about it and download here: <a href="http://blog.base42.nl/2009/12/11/my-workflow-with-ant-and-fdt/">My workflow with ANT and FDT</a>.</p>
<p>Because we work a little bit different I had to do some modifications (for example: I work with 2 swf: preloader.swf and main.swf and work on PC). I created a list of stuff that I wanted to do with ANT and behind the &#8220;wish&#8221; you find a link to the site I found the solution for the problem:</p>
<ol>
<li>base ant script >> <a href="http://blog.base42.nl/2009/12/11/my-workflow-with-ant-and-fdt/">http://blog.base42.nl/2009/12/11/my-workflow-with-ant-and-fdt/</a></li>
<li>inspiration >> <a href="http://code.google.com/p/sekati/source/browse/trunk/build.xml">http://code.google.com/p/sekati/source/browse/trunk/build.xml</a></li>
<li>install ftp protocol in fdt/eclips >> <a href="http://www.rumblingskies.com/blog/?p=75">http://www.rumblingskies.com/blog/?p=75</a></li>
<li>update version ant script >> <a href="http://github.com/base42/projectcreator/blob/master/original/flash/builders/ant/updateVersionFile.xml">http://github.com/base42/projectcreator/blob/master/original/flash/builders/ant/updateVersionFile.xml</a></li>
<li>another update ant script >> <a href="http://www.sephiroth.it/weblog/archives/2010/01/update_your_app_version_using_ant_bui.php">http://www.sephiroth.it/weblog/archives/2010/01/update_your_app_version_using_ant_bui.php</a></li>
<li>update Firefox (only works on OSX) >> <a href="http://epologee.com/blog/2009/focus-and-reload-pages-in-firefox-with-ant/">http://epologee.com/blog/2009/focus-and-reload-pages-in-firefox-with-ant/</a></li>
<li>html wrapper >> <a href="http://fdt.powerflasher.com/blog/?p=1392">http://fdt.powerflasher.com/blog/?p=1392</a></li>
<li>create folders >> <a href="http://code.google.com/p/sekati/source/browse/trunk/build.xml">http://code.google.com/p/sekati/source/browse/trunk/build.xml</a></li>
</ol>
<p>Something like this needs some time to find its place in my workflow, and will be changed a lot. That is the reason why I&#8217;m not posting my ant file&#8230; not because it&#8217;s ugly or a secret&#8230; but because I need to refine it.&nbsp; </p>
<p>Oh&#8230; I also have a small todo list (perhaps you could call it a nice-to-have-list)</p>
<ul>
<li>count lines of code >> <a href="http://cloc.sourceforge.net/">http://cloc.sourceforge.net/</a></li>
<li>zip files >> <a href="http://www.funky-monkey.nl/blog/2010/09/22/copy-files-to-a-network-share-with-ant-and-fdt/">http://www.funky-monkey.nl/blog/2010/09/22/copy-files-to-a-network-share-with-ant-and-fdt/</a></li>
<li>asdoc >> <a href="http://code.google.com/p/sekati/source/browse/trunk/build.xml">http://code.google.com/p/sekati/source/browse/trunk/build.xml</a></li>
<li>swc >> <a href=" http://code.google.com/p/sekati/source/browse/trunk/build.xml"> http://code.google.com/p/sekati/source/browse/trunk/build.xml</a></li>
</ul>
<p>As you can see, these are the thing that I don&#8217;t need a lot, but perhaps in the nearby future&#8230;</p>
<hr/>
<h3>FTP (File transfer protocol)</h3>
<p>Ant doesn&#8217;t have the FTP protocols default installed so you need to update FDT4/Eclipse.<br />
You can find the explanation here: <a href="http://www.rumblingskies.com/blog/?p=75" target="_blank">http://www.rumblingskies.com/blog/?p=75</a></p>
<div class="update"><strong>Update #1:</strong>The locations of the files you need are changed so let me post the correct ones here:</p>
<ul>
<li><a href="http://commons.apache.org/net/download_net.cgi" target="_blank">commons-net-2.0.jar</a> | <a href="http://apache.hippo.nl//commons/net/binaries/commons-net-2.0.zip" target="_blank" class="broken_link">direct link</a></li>
<li><a href="http://jakarta.apache.org/site/downloads/downloads_oro.cgi" target="_blank" class="broken_link">jakarta-oro-2.0.8.jar</a> | <a href="http://apache.hippo.nl//jakarta/oro/binaries/jakarta-oro-2.0.8.zip" target="_blank" class="broken_link">direct link</a></li>
</ul>
<p>Save these files in the following folder: <code>C:\FDT\plugins\org.apache.ant_***\bin\</code>
</div>
<div class="update"><strong>Update #2:</strong> hmmm jakarta-oro seems to be <a href="http://jakarta.apache.org/oro/index.html">Retired</a>&#8230; and I haven&#8217;t got time to figure this out right now&#8230;</div>
<p>You probably can add the zips you downloaded there, I extracted the two files and that worked for me. I did this in FDT4 and all I got was an alert about &#8220;The specified Ant runtime classpath does not include a tools.jar library&#8230;..&#8221; which I ignored (and without any problem).</p>
<p>After the installment of the two .JAR files you need an ANT script to get thing started which I just copied from the previous link:<br />
[as light="true" wraplines="true"]<br />
&lt;target name=&quot;ftp_upload&quot; description=&quot;uploads files through ftp&quot;&gt;<br />
  &lt;echo message=&quot;uploading files&quot; /&gt;<br />
  &lt;ftp server=&quot;123.456.78.90&quot;<br />
       port=&quot;21&quot;<br />
       remotedir=&quot;/www/ant_upload_test&quot;<br />
       userid=&quot;my_user_id&quot;<br />
       password=&quot;my_password&quot;<br />
       passive=&quot;no&quot;<br />
       depends=&quot;yes&quot;<br />
       binary=&quot;yes&quot;&gt;<br />
       &lt;fileset dir=&quot;../bin&quot; /&gt;<br />
  &lt;/ftp&gt;<br />
&lt;/target&gt;[/as]</p>
<hr/>
<h3>Update version</h3>
<p>It&#8217;s a combination of writing a build.txt file and a Version.as file.<br />
See what Jankees van Woezik did and I use the script from Sephiroth to have a building number that adds 1.</p>
<hr/>
<h3>Firefox refresh</h3>
<p>this feature is awesome in combination with ftp, so here the one who found the how: Eric Paul (epologee). Read more about it here: <a href="http://epologee.com/blog/2009/focus-and-reload-pages-in-firefox-with-ant/">focus-and-reload-pages-in-firefox-with-ant</a></p>
<p>So downloaded the file, installed the firefox extension and gave it a run:<br />
[as light="true" wraplines="true"]<br />
&lt;target name=&quot;focus Firefox and reload page&quot;&gt;Execute failed: java.io.IOException: Cannot run program &quot;open&quot; (in directory &quot;C:\foo\bar\test&quot;): CreateProcess error=2, Het systeem kan het opgegeven bestand niet vinden<br />
[/as]</p>
<p>After some googling, I found that it&#8217;s a OSX command that doesn&#8217;t work on Windows:</p>
<p>[as highlight="1" light="true" wraplines="true"]<br />
&lt;target name=&quot;focus Firefox and reload page&quot;&gt;<br />
    &lt;exec executable=&quot;open&quot;&gt;<br />
        &lt;arg line=&quot;-a Firefox&quot; /&gt;<br />
    &lt;/exec&gt;<br />
    &lt;exec executable=&quot;flash/tools/fresno/fresno&quot;&gt;<br />
        &lt;arg line=&quot;-j &#8216;content.location.reload()&#8217;&quot; /&gt;<br />
    &lt;/exec&gt;<br />
&lt;/target&gt;[/as]</p>
<p>I haven&#8217;t found a solution that refreshes the page like Fresno does on Windows.<br />
So the only thing I can think of is:</p>
<p>[as light="true" wraplines="true"]<br />
&lt;target name=&quot;Launch in Firefox (reload)&quot;&gt;<br />
        &lt;echo&gt;Launch in Firefox (not really a reload)&lt;/echo&gt;<br />
        &lt;exec executable=&quot;H:/Program Files/Mozilla Firefox/firefox.exe&quot; spawn=&quot;yes&quot;&gt;<br />
            &lt;arg line=&quot;${flashproject.preview.url}&quot; /&gt;<br />
        &lt;/exec&gt;<br />
    &lt;/target&gt;<br />
[/as]</p>
<hr/>
<h3>Html wrapper</h3>
<p>I changed the file a little bit (removed the history) not really difficult.</p>
<hr/>
<h3>Folders</h3>
<p>You get the idea&#8230;.</p>
<p>(reminder for myself: <a href="http://fdt.powerflasher.de/docs/FDT_Ant_Tasks">http://fdt.powerflasher.de/docs/FDT_Ant_Tasks</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/09/29/fdt-and-ant-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Create SWC library from FDT</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/07/14/create-swc-library-from-fdt/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/07/14/create-swc-library-from-fdt/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 08:00:35 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[SWC]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1448</guid>
		<description><![CDATA[I use Greensock Tweening Platform a lot, it awesome. Download it (here for example) and you have everything you need. Now I start working with SWC files and they are so compact: I love it. But how do you get a library in a SWC? Google has an answer but it&#8217;s very complex. The best [...]]]></description>
			<content:encoded><![CDATA[<p>I use <a href="http://www.greensock.com/">Greensock</a> Tweening Platform a lot, it awesome. Download it (<a href="http://www.greensock.com/tweenmax/">here</a> for example) and you have everything you need.</p>
<p>Now I start working with SWC files and they are so compact: I love it.<br />
But how do you get a library in a SWC? <a href="http://www.google.com/search?q=create+a+swc+with+fdt" target="_blank">Google</a> has an answer but it&#8217;s very complex.</p>
<p>The best answer is from <a href="http://twitter.com/BrunoFonzi/">Bruno Fonzi</a> on
<p><a href="http://twitter.com/BrunoFonzi/statuses/17885849155" class="broken_link">Twitter / Bruno Fonzi: How to create SWC librarie &#8230;</a>.</p>
<p>How to create SWC libraries from FDT:<br />
Right click Project > Run as > FDT Library<br />
or<br />
Menu > Run Configurations > Create new FDT Library</p>
<p>So start with a <strong>New Flash Project</strong> (the name you will use for this project will be the name of the SWC: in my case &#8220;Greensock_Tweening_Platform&#8221;) and copy the <strong>com</strong> folder from the Greensock ZIP into the src (of source) folder.<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/greensock_folder.png" alt="" title="Greensock folder" width="291" height="69" class="alignnone size-full wp-image-1454" /><br />
If you follow the instructions and create a SWC you will get an error about: UIComponent and Vector (depends on your Project properties).</p>
<p>So to fix this: follow the 2 red x&#8217;s<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/greensock_folder_with_com.png" alt="" title="Greensock folder with red x" width="299" height="377" class="alignnone size-full wp-image-1453" /></p>
<p>com > greensock > loading > display > FlexContentDisplay<br />
I don&#8217;t use this one, so delete.</p>
<p>The next depends on the project properties (I used SDK: Flex 3.3 and Player Version 9 and there are no Vectors in Player version 9)<br />
com > greensock > plugins > EndVectorPlugin<br />
I can&#8217;t use this one, so delete this on too.</p>
<p>Create the SWC again and your done: you have one file with the Greensock Tweening Platform in it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/07/14/create-swc-library-from-fdt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FDT and ANT &#8211; part 1</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/07/07/fdt-and-ant-part-1/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/07/07/fdt-and-ant-part-1/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 09:57:30 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ANT-Build-template]]></category>
		<category><![CDATA[ANT-file]]></category>
		<category><![CDATA[ANT-snippets]]></category>
		<category><![CDATA[ANT-View]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1441</guid>
		<description><![CDATA[Just started to work with FDT and wrote about my &#8220;troubles&#8221; (post#1 and post#2) with my transition from FlashDevelop. (have to be very carefull what I say: &#8220;they&#8221; are watching me: here and here ) And it seems to be a very natural (geeky) thing to learn about ANT. And where do you go to [...]]]></description>
			<content:encoded><![CDATA[<p>Just started to work with <a href="http://www.fdt.powerflasher.com/">FDT</a> and wrote about my &#8220;troubles&#8221; (<a href="http://www.matthijskamstra.nl/blog/index.php/2010/06/16/moving-from-flashdevelop-to-fdt/">post#1</a> and <a href="http://www.matthijskamstra.nl/blog/index.php/2010/06/29/missing-in-fdt-after-working-with-flashdevelop/">post#2</a>) with my transition from <a href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page">FlashDevelop</a>.<br />
<em>(have to be very carefull what I say: &#8220;they&#8221; are watching me: <a href="http://www.matthijskamstra.nl/blog/index.php/2010/06/29/missing-in-fdt-after-working-with-flashdevelop/#comment-11773">here</a> and <a href="http://twitter.com/BrunoFonzi/statuses/17355312899" class="broken_link">here</a> <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )<br />
</em><br />
And it seems to be a very natural (geeky) thing to learn about <a href="http://ant.apache.org/" target="_blank">ANT</a>.</p>
<p>And where do you go to learn about ANT and SWF/Flash/FDT? (<a href="http://www.google.com/search?q=fdt+ant" target="_blank">Google</a>?)<br />
After some tinkering all I got was: <code><strong>failed to create task or type fdt.launch.application</strong></code></p>
<p>This post was very useful: <a href="http://blog.alanklement.com/2009/08/10/fdt-and-ant-a-users-guide-part-i/">FDT and ANT | A User’s Guide – Part I</a> by Alan Klement.<br />
Watch the videos (I&#8217;m not very fond of tutorial videos but in this case; they get the job done).<br />
What I love about the &#8220;<a href="http://blog.alanklement.com/files/videos/ant_part_one.mov">Video I: Getting Started</a>&#8221; is the fact that it builds up from scratch. So watch this video when you want to know about ant-files/xml, how to open the ANT-View, how to open/execute an ANT-file.</p>
<p>The second video (<a href="http://blog.alanklement.com/files/videos/ant_part_two.mov">Video II: Compiling a SWF</a>) was what I really was looking for: how to export a SWF. Very nice because it starts from scratch.<br />
And it gave me the answer I was looking for: why didn&#8217;t my ANT-file didn&#8217;t work (it about 3/4 of the video):<br />
<code><br />
BUILD FAILED<br />
[blabla]\source\a\example\build\build.xml:17: Problem: <strong>failed to create task or type fdt.launch.application</strong><br />
Cause: The name is undefined.<br />
Action: Check the spelling.<br />
Action: Check that any custom tasks/types have been declared.<br />
Action: Check that any
<presetdef>/<macrodef> declarations have taken place.<br />
</code></p>
<p><strong>Solution is very simple</strong>, but if you don&#8217;t know, you will hate FDT and really it&#8217;s not it fault:<br />
Goto the green &#8220;play&#8221; button with the brown bag, in the toolbar (one picture says more than a thousand words:)<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/external_tools_configurations_hoover.png" alt="" title="external_tools_configurations_hoover" width="229" height="142" class="alignnone size-full wp-image-1444" /></p>
<p>Select the ANT-file you want to change (I have only one <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ), goto to tab &#8220;<strong>JRE</strong>&#8221; and change the <strong>Runtime JRE</strong> to <strong>Run in the same JRE as the workspace</strong> and your done:<br />
<a href="http://www.matthijskamstra.nl/blog/wp-content/uploads/external_tools_configurations.png" target="_blank"><img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/external_tools_configurations.png" alt="" title="external_tools_configurations" width="500" class="alignnone size-full wp-image-1445" /></a></p>
<p>Very useful are the ANT-snippets and ANT-Build-template!<br />
<a href="http://blog.alanklement.com/files/zip/ant_templates.zip">Download</a> (created by Alan Klement) and &#8220;install&#8221; the ANT-template (how-to on <a href="http://blog.alanklement.com/2009/08/10/fdt-and-ant-a-users-guide-part-i/">this page</a> but here the short version)</p>
<blockquote><p>
To add XML files templates go: <strong>Preferences > XML > XML Files > Editor > Templates</strong> and click import.</p>
<p>To add Ant snippets go: <strong>Preferences > Ant > Editor > Templates</strong> and click import.</p></blockquote>
<p>I haven&#8217;t seen the second part of this tutorial: <a href="http://blog.alanklement.com/2009/08/19/fdt-ant-part-two/">FDT and ANT | A User’s Guide – Part II</a> but I will.<br />
It seems to be focused on the use of the templates and snippets.</p>
<p>source:<br />
<a href="http://blog.alanklement.com/2009/08/10/fdt-and-ant-a-users-guide-part-i/">FDT and ANT | A User’s Guide – Part I</a><br />
<a href="http://blog.alanklement.com/2009/08/19/fdt-ant-part-two/">FDT and ANT | A User’s Guide – Part II</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/07/07/fdt-and-ant-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://blog.alanklement.com/files/videos/ant_part_one.mov" length="15458577" type="video/quicktime" />
<enclosure url="http://blog.alanklement.com/files/videos/ant_part_two.mov" length="17294254" type="video/quicktime" />
		</item>
		<item>
		<title>Missing in FDT after working with FlashDevelop</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/06/29/missing-in-fdt-after-working-with-flashdevelop/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/06/29/missing-in-fdt-after-working-with-flashdevelop/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 08:29:19 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[FDT]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flashdevelop]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1430</guid>
		<description><![CDATA[I love FlashDevelop but moved to FDT (read my other post about this subject)&#8230; Not an easy thing (the biggest problem is that it totally not intuitive ) to do and I&#8217;m missing some stuff that I had in FlashDevelop. CTRL+U to change the selected text to uppercase Update #1: I have found it: ToUpperCase [...]]]></description>
			<content:encoded><![CDATA[<p>I love FlashDevelop but moved to FDT (<a href="http://www.matthijskamstra.nl/blog/index.php/2010/06/16/moving-from-flashdevelop-to-fdt/">read my other post about this subject</a>)&#8230;<br />
Not an easy thing (the biggest problem is that it totally not intuitive ) to do and I&#8217;m missing some stuff that I had in FlashDevelop.</p>
<p><strong>CTRL+U</strong> to change the selected text to uppercase<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/screenshot_flashd_uppercase.png" alt="" title="Screenshot FlashDevelop &quot;to uppercase&quot;" width="506" height="343" class="alignnone size-full wp-image-1434" /></p>
<div class="update"><strong>Update #1:</strong> I have found it:<br />
ToUpperCase = CTRL+SHIFT+X<br />
ToLowerCase = CTRL+SHIFT+Y
</div>
<p><strong>CTRL+SHIFT+1</strong> to &#8220;Promote member to class&#8221;<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/screenshot_flashd_promote.png" alt="" title="Screenshot FlashDevelop &quot;Promote to class member&quot;" width="375" height="109" class="alignnone size-full wp-image-1433" /><br />
(there is a similar way to do this in FDT but not the same)</p>
<p><strong>CTRL+SHIFT+Q</strong> to create a block comment<br />
It is in FDT but I can&#8217;t get it to work so you have to work with <strong>CTRL+7</strong> (toggle comment) which is a minor adjustment.</p>
<p>The auto-completing FlashDevelop is awesome!! With some tinkering (<a href="http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/">info here</a>) you can get FDT in the same room but it&#8217;s still not the same. I&#8217;m used to write private variable with a prefix &#8220;_&#8221; (example: <code>_variableName</code>). When I want the variable name to autocomplete in FlashDevelop I just type <code>variableName</code> (without the &#8220;_&#8221; prefix because it stupidly positioned on the keyboard) and it will find it. In FDT you need to start with the prefix &#8220;_&#8221; otherwise it will ignore the variable name&#8230; why??? </p>
<p>Also missing: Explore (Open &#8220;Project Manager&#8221; and right-click on a folder)<br />
<img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/screenshot_flashd_explore.png" alt="" title="Screenshot FlashDevelop &quot;Explore&quot;" width="209" height="289" class="alignnone size-full wp-image-1438" /> (can&#8217;t find it in FDT)</p>
<p>But I shouldn&#8217;t complain, there is a reason why I&#8217;m changing to FDT</p>
<p>Big plus from FDT:<br />
<strong>CTRL+SHIFT+F</strong> to Format code which is not possible in Flashdevelop<br />
SWC Browsing is limited in FlashDevelop<br />
Cross Platform: FlashDevelop works only on Windows<br />
Refactor: this is so awesome (and expensive!!!)</p>
<p>source:<br />
<a href="http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/">http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/06/29/missing-in-fdt-after-working-with-flashdevelop/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Moving from FlashDevelop to FDT</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/06/16/moving-from-flashdevelop-to-fdt/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/06/16/moving-from-flashdevelop-to-fdt/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 10:27:46 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[Templates]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1417</guid>
		<description><![CDATA[Yes, its time, I need to&#8230; So how to make the transition from FlashDevelop to FDT as easy as possible? Let FDT react like FlashDevelop And I don&#8217;t even have to break a sweat: the amazing Steven Sacks (creator of Gaia) wrote an article about it: read here. The only two thing that I&#8217;m using [...]]]></description>
			<content:encoded><![CDATA[<p>Yes, its time, I need to&#8230;<br />
So how to make the transition from FlashDevelop to FDT as easy as possible?</p>
<h3>Let FDT react like FlashDevelop</h3>
<p>And I don&#8217;t even have to break a sweat: the amazing <a href="http://www.stevensacks.net/">Steven Sacks</a> (creator of Gaia) wrote an article about it: <a href="http://www.stevensacks.net/2010/04/30/setting-up-fdt-to-look-and-behave-like-flashdevelop/">read here</a>.<br />
The only two thing that I&#8217;m using are:<br />
Open <strong>Window > Preferences</strong> </p>
<p>Under <strong>FDT > Editor > Code Assist</strong> copy and paste this into Auto activation triggers for AS, and set the delay to 0ms (zero).</p>
<div class="showcode">
<pre>
abcdefghijklmnopqrstuvwxyz_. :</pre>
</div>
<p>and</p>
<p>Under <strong>Problems > AS3 Problems</strong>:<br />
<strong>Unresolvable</strong> > <strong>Unresolvable variable reference in E4X</strong> and <strong>Unresolvable member reference in dynamic object</strong> should both be set to Disabled (from Warning to Disabled).</p>
<p>The shortcuts I just left them as they where: I&#8217;m working in another program so I should use the shortcut given by that program.</p>
<div class="update"><strong>Update #1:</strong> hmmm I noticed that I can&#8217;t live without CTRL+ENTER&#8230;. explanation here: <a href="http://cote.cc/blog/using-ctrl-enter-to-compile-actionscript-code-in-fdt">Using CTRL-ENTER to compile ActionScript code in FDT</a>. So now I have CTRL+ENTER and debug run:  CTRL+SHIFT+ENTER  <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  </p>
<p>short explanation (so I can do this quickly if something happens to FDT):</p>
<p>Under <strong>Preferences > Run/Debug > Launching</strong> at the bottom at <strong>Launch Operation</strong>: Select &#8220;<strong>Always launch the previously launched application</strong>&#8221;</p>
<p>then </p>
<p>Under <strong>Preferences > General > Keys</strong> find (or type in &#8220;type filter text&#8221; &#8211; searchbox: &#8220;last&#8221;) a command called &#8220;<strong>Run Last Launched</strong>&#8221; and click Copy Command. Assign (binding) the shortcut CTRL-ENTER to the copied command and change &#8220;when&#8221; to <strike><strong>Editing ActionScipt Source</strong> (no spelling mistake: it really says that)</strike> <strong>Editing ActionScript Source</strong>.<br />
Do the same thing for the &#8220;<strong>Debug Last Launched</strong>&#8221; command and assign the shortcut : CTRL-SHIFT-ENTER and change the when to <strong>Editing ActionScipt Source</strong>.</p>
<p><strike>I&#8217;m not sure if the stuff I wrote here is only for FDT4 but the way it was explained on the site previous mentioned didn&#8217;t work in FDT4</strike>
</div>
<h3>Some templates/snippets that are very useful</h3>
<p>I used <a href="http://www.double-quotes.com/fd/dq.htm">this plugin</a> for my trace in FlashDevelop, so how to do this in FDT?</p>
<div class="update"><strong>Update #2:</strong> I shouldn&#8217;t forget to mention CTRL+0 (read the <a href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/getting-started/shortcuts/">shortcut list for FDT</a>) which is the shortcut for &#8220;Quick Trace&#8221;. This one I use to trace variable for example and the trace template below for functions.</div>
<div class="update"><strong>Update #4:</strong> This is really a reminder for myself, but if you need it you know where you can find it in FDT4.<br />
Some minor adjustments like: </p>
<p><strong>Preferences > FDT > Build Path </strong> change <strong>Source folders</strong> to &#8220;source&#8221; (I like source above src) and <strong>Output folder</strong> to &#8220;deploy&#8221; (I like deploy above bin)</p>
<p><strong>Preferences > FDT > Code Style > Code Templates (Misc)</strong> to &#8220;<strong>Override System UserName &#8211; ${user}</strong>&#8221;</p>
<p><strong>Preferences > FDT > Editor</strong> goto &#8220;Folding&#8221; and uncheck &#8220;Folding enabled&#8221; (I like to see everything, comment also)</p>
<p><strong>Preferences > FDT > Tools > Flash/Flash Help</strong> to add paths to Flash (in my case: &#8220;H:\Program Files\Adobe\Adobe Flash CS4\Flash.exe&#8221;) and the Flash help files (in my case: &#8220;H:\Program Files\Adobe\Adobe Flash CS4\en\First Run\HelpPanel\Help&#8221;)</p>
<p><strong>Preferences > General > Web Browser</strong> change to &#8220;Use external Web browser&#8221; to my favourite browser: Firefox <strike>(no Google Chrome there yet)</strike><br />
You can add any browser that you want.
</div>
<div class="update"><strong>Update #5:</strong> visit <a href="http://www.rumblingskies.com/blog/?p=75">http://www.rumblingskies.com/blog/?p=75</a> and add FTP capabilities to ANT.</div>
<p>You have to create a code-template/code-snippet:<br />
go to <strong>Preferences > FDT > Editor > Templates</strong></p>
<p>This is a template that resembles the trace I used in FlashDevelop<br />
<strong>Trace:</strong></p>
<div class="showcode">
<pre>trace ( "+ ${enclosing_type}.${enclosing_method}() - args: " + [ ${enclosing_method_arguments} ] );</pre>
</div>
<p>and I found some other useful templates</p>
<p><strong>Public method:</strong></p>
<div class="showcode">
<pre>public function ${methodName}():${type} {
    trace(">> ${enclosing_type}.${methodName}() args: "+[]);
    ${cursor}
};</pre>
</div>
<p>for some strange reason there is no shortcut for asdoc <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><strong>ASDoc:</strong></p>
<div class="showcode">
<pre>/**
 * ${cursor}
 * @example
 * @param		${enclosing_method_arguments}
 * @return
 */
 */</pre>
</div>
<div class="update"><strong>Update #3:</strong> (sadly if there are no param in the function &#8220;${enclosing_method_arguments}&#8221; will be printed..)</div>
<p>a switch a use a lot with FlashDevelop:</p>
<p><strong>Switch:</strong></p>
<div class="showcode">
<pre>switch (${value}) {
	case ${result}:
		trace ("${result}" +${result} );
		${cursor}
		break;
    default:
        trace("case '"+${value}+"':\r\ttrace ('--- "+${value}+"');\r\tbreak;" );
}
</pre>
</div>
<p>and the template for a singleton</p>
<p><strong>Singleton:</strong> (from <a href="http://www.gskinner.com/blog/archives/2006/07/as3_singletons.html">gskinner</a>)</p>
<div class="showcode">
<pre>package ${enclosing_package} {

	/**
	* @author ${user}
	*/
	public class ${enclosing_type} {

		private static var _instance:${enclosing_type};
		private static var _allowInstantiation:Boolean;

		public static function getInstance():${enclosing_type} {
			if (_instance == null) {
				_allowInstantiation = true;
				_instance = new ${enclosing_type}();
				_allowInstantiation = false;
			}
			return _instance;
		}

		public function ${enclosing_type}():void {
			if (!_allowInstantiation) {
				throw new Error("Error: Instantiation failed: Use ${enclosing_type}.getInstance() instead of new.");
			}
		}

		${cursor}

	} // end class

} // end package</pre>
</div>
<p>enough for now, here some other posts about the subject</p>
<p><strong>Source:</strong><br />
<a href="http://blog.hydrotik.com/2007/11/19/fdt-30-code-templates/">http://blog.hydrotik.com/2007/11/19/fdt-30-code-templates/</a><br />
<a href="http://www.breaktrycatch.com/useful-fdt-templates/">http://www.breaktrycatch.com/useful-fdt-templates/</a><br />
<a href="http://www.stevensacks.net/2010/04/30/setting-up-fdt-to-look-and-behave-like-flashdevelop/">http://www.stevensacks.net/2010/04/30/setting-up-fdt-to-look-and-behave-like-flashdevelop/</a><br />
<a href="http://www.gskinner.com/blog/archives/2006/07/as3_singletons.html">http://www.gskinner.com/blog/archives/2006/07/as3_singletons.html</a><br />
<a href="http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/">http://blog.flashmech.net/2008/08/review-fdt-vs-flashdevelop/</a><br />
<a href="https://fosswiki.liip.ch/display/FLASH/Code+Snippets+for+FDT+and+Flex">https://fosswiki.liip.ch/display/FLASH/Code+Snippets+for+FDT+and+Flex</a><br />
<a href="http://cote.cc/blog/using-ctrl-enter-to-compile-actionscript-code-in-fdt">http://cote.cc/blog/using-ctrl-enter-to-compile-actionscript-code-in-fdt</a><br />
<a href="http://www.fdt.powerflasher.com/developer-tools/fdt-3/getting-started/shortcuts/">http://www.fdt.powerflasher.com/developer-tools/fdt-3/getting-started/shortcuts/</a><br />
<a href="http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/">http://blog.flashmech.net/2008/10/fdt-tip-boost-your-code-assist/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/06/16/moving-from-flashdevelop-to-fdt/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter RSS reader &#8211; part 2</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2010/01/06/twitter-rss-reader-part-2/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2010/01/06/twitter-rss-reader-part-2/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 08:00:48 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[proxy.php]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1218</guid>
		<description><![CDATA[This is a &#8220;must-read&#8221; update for twitter rss reader in flash as3. read here the complete (dutch) error message Stupid, stupid, stupid, I already knew this: Flash cross-domain security. Which simple says that it&#8217;s not allowed to &#8220;get&#8221; anything from another website unless the server has a crossdomain.xml. The nasty part is that, while you [...]]]></description>
			<content:encoded><![CDATA[<div class='highlight'>This is a &#8220;must-read&#8221; update for <a href="http://www.matthijskamstra.nl/blog/index.php/2009/12/30/twitter-rss-reader-in-flash-as3/">twitter rss reader in flash as3</a>.</div>
<p><img src="http://www.matthijskamstra.nl/blog/wp-content/uploads/error_flash_debugplayer.jpg" alt="" title="flash debugplayer error" width="488" height="223" class="alignnone size-full wp-image-1221" /><br />
<em><a href="#dutch_error">read here</a> the complete (dutch) error message</em></p>
<p>Stupid, stupid, stupid, I already knew this: <strong><a href="http://www.macromedia.com/devnet/flash/articles/fplayer_security_03.html">Flash cross-domain security</a></strong>.<br />
Which simple says that it&#8217;s not allowed to &#8220;get&#8221; anything from another website unless the server has a <a href="http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html"><code>crossdomain.xml</code></a>.<br />
The nasty part is that, while you are testing in Flash IDE nothing goes wrong. So I only bumped into this when I put it on my server&#8230;</p>
<p>So what to do?</p>
<ol>
<li>Ask Twitter to change there <code>crossdomain.xml</code> and add my domain&#8230;&#8230; (is this really an option?)</li>
<li>Find something around the crossdomain security from Flash</li>
</ol>
<p>Luckily solution two is the easiest one: use a proxy to get the data we want.<br />
Because PHP doesn&#8217;t have the same restrictions as Flash has we will be using a proxy.php. </p>
<p>This is how it works: Flash wants a <code>crossdomain.xml</code> if you &#8220;get&#8221; data from another server, but if you &#8220;get&#8221; data from the same server there is no problem. So we will be asking the <code>proxy.php</code> to &#8220;get&#8221; the xml/rss and serve it to Flash.</p>
<p>So instead of loading the data directly from Twitter<br />
<code>http://twitter.com/statuses/user_timeline/27657030.rss</code><br />
We will be using the proxy instead<br />
<code>http://yoursite.com/xml_proxy.php?url=http://twitter.com/statuses/user_timeline/27657030.rss</code></p>
<p>I didn&#8217;t write the proxy myself:<br />
The proxy that I used can be found here: <a href="http://xmlrpcflash.mattism.com/proxy_info.php">http://xmlrpcflash.mattism.com/proxy_info.php</a> (it has some extra explanation about the subject )<br />
This proxy can be use for all sorts of xml, and any server.</p>
<p>As always I&#8217;m reinventing the wheel: this group needed a specific solution but is nice to read more about it:<br />
<a href="http://woveninteractive.net/2009/02/twitter-in-flash-getting-past-the-securityerrorevent/">http://woveninteractive.net/2009/02/twitter-in-flash-getting-past-the-securityerrorevent/</a><br />
They wrote something similar, but a proxy more specific suited for twitter and the use of <a href="http://code.google.com/p/twitterscript/source/checkout">twitterscript</a>.</p>
<div class="update"><strong>Update #1:</strong> I found another proxy.php (I really don&#8217;t think you need another, but choices are nice <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ).<br />
<a href="http://www.abdulqabiz.com/blog/archives/2007/05/31/php-proxy-script-for-cross-domain-requests/">PHP Proxy Script for cross-domain requests</a>
</div>
<div id="dutch_error">
Sorry for the dutch error&#8230; I have a dutch version of XP (not my choice)<br />
<code><br />
Error #2044: Niet-afgehandelde securityError:. text=Error #2048: Schending van beveiligingssandbox: http://emceekay.nl/paper/flash/twttr.swf kan geen gegevens laden van http://twitter.com/statuses/user_timeline/27657030.rss.<br />
	at nl.emceekay.twttr::TwttrBase/getFeed()<br />
	at nl.emceekay.twttr::TwttrMain()<br />
</code>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2010/01/06/twitter-rss-reader-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter rss reader in Flash as3</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2009/12/30/twitter-rss-reader-in-flash-as3/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2009/12/30/twitter-rss-reader-in-flash-as3/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 08:00:16 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Urban papercraft]]></category>
		<category><![CDATA[Papercraft]]></category>
		<category><![CDATA[PaperToy]]></category>
		<category><![CDATA[PaperToys]]></category>
		<category><![CDATA[Urban]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1196</guid>
		<description><![CDATA[Update #1: must read this post, otherwise this code will fail when you place it on your server! I recently started my own company (eMCeeKay.nl) and I need to make a website for it&#8230;. Not really a problem besides that I don&#8217;t have any time to create a design. So I was thinking about a [...]]]></description>
			<content:encoded><![CDATA[<div class="update"><strong>Update #1:</strong> <a href="http://www.matthijskamstra.nl/blog/index.php/2010/01/06/twitter-rss-reader-part-2/">must read this post</a>, otherwise this code will fail when you place it on your server!</div>
<p>I recently started my own company (<a href="http://www.eMCeeKay.nl">eMCeeKay.nl</a>) and I need to make a website for it&#8230;. Not really a problem besides that I don&#8217;t have any time to create a design.</p>
<p>So I was thinking about a easy way to update this website without spending extra time on that.</p>
<p>Because the main focus of the company is papertoys (urban papertoys), I need design or papertoy related info in my my new website ().</p>
<p>And I came with two ways to update it without extra effort: <a href="http://www.twitter.com/matthijskamstra">twitter</a> (I tweet about a lot of stuff but primarily about papertoys) and this the content on this blog (category: <a href="http://www.matthijskamstra.nl/blog/index.php/category/design/urban-papercraft/">urban-papercraft</a>).</p>
<p>I started with the Twitter part.<br />
There are two Twitter AS3 libraries that &#8220;speak&#8221; to the Twitter API: <a href="http://code.google.com/p/twitterscript/">twitterscript/</a> and <a href="http://code.google.com/p/tweetr/">tweetr/</a>.<br />
But after reading the source I concluded that it was a little bit to much: I don&#8217;t want to tweet from emceekay.nl or do searches, so that was not the way to go.</p>
<p>A little google search gave me the solution: <a href="http://www.theflashlogs.org/flash/displaying-twitter-feeds-in-flash-with-rss/" class="broken_link">http://www.theflashlogs.org/flash/displaying-twitter-feeds-in-flash-with-rss/</a>, simple using the standard rss from Twitter (in my case: <a href="http://twitter.com/statuses/user_timeline/27657030.rss" title="Matthijs Kamstra - Twitter - rss" rel="alternate" type="application/rss+xml">Matthijs Kamstra &#8211; Twitter &#8211; rss</a>).</p>
<p>The code on theflashlogs.org is pritty simple, and very easy to use.<br />
So my code is a little addition to that, I need some stuff done to the rss feed:</p>
<ul>
<li>remove &#8220;MatthijsKamstra:&#8221; form the title</li>
<li>convert <strong>@paperkraft</strong> to a link</li>
<li>convert <strong>#Mecha6</strong> to a link</li>
<li>convert <strong>http://</strong> to a link</li>
</ul>
<p>Here is my code:<br />
[as light="false" wraplines="false"]<br />
package nl.emceekay.twttr<br />
{<br />
	import flash.display.MovieClip;<br />
	import flash.events.Event;<br />
	import flash.net.URLLoader;<br />
	import flash.net.URLRequest;<br />
	import flash.text.TextField;<br />
	/**<br />
	 * // nl.emceekay.twttr.TwttrExample<br />
	 * &#8230;<br />
	 * @author Matthijs Kamstra aka [mck]<br />
	 */<br />
	public class TwttrExample extends MovieClip<br />
	{<br />
		//default: http://twitter.com/matthijskamstra<br />
		private var url:String = &quot;http://twitter.com/statuses/user_timeline/27657030.rss&quot;; </p>
<p>		private var _txt:TextField;</p>
<p>		public function TwttrExample()<br />
		{<br />
			stage.scaleMode = &quot;noScale&quot;;<br />
			stage.align = &quot;TL&quot;;</p>
<p>			// generate textfield<br />
			_txt = new TextField()<br />
			_txt.x = 10;<br />
			_txt.y = 10;<br />
           		 _txt.width = stage.stageWidth &#8211; 20;<br />
           		_txt.height =  stage.stageHeight &#8211; 20;<br />
			_txt.wordWrap = true;<br />
			_txt.multiline = true;<br />
			_txt.autoSize = &quot;left&quot;;<br />
			addChild(_txt);</p>
<p>			// start<br />
			getFeed(url);<br />
		}</p>
<p>		//////////////////////////////////////// loading rss / show rss ////////////////////////////////////////</p>
<p>		private function getFeed (inURL:String) : void<br />
		{<br />
			_txt.htmlText = &quot;getting tweets&quot;;</p>
<p>			var loader:URLLoader = new URLLoader();<br />
			loader.addEventListener(Event.COMPLETE, onFeedHandler);<br />
			loader.load(new URLRequest(inURL));<br />
		}</p>
<p>		private function onFeedHandler (e:Event):void<br />
		{<br />
			_txt.htmlText = &quot;&quot;;<br />
			var _feed:XML = new XML(e.target.data);<br />
			var _item:XMLList = _feed.channel.item;<br />
			for each (var feedItem:XML in _item){<br />
				var _title		:String = feedItem.title;<br />
				var _pubDate	:String = feedItem.pubDate;<br />
				var _link		:String = feedItem.link;</p>
<p>				_title = convertTweet(_title);</p>
<p>				_txt.htmlText += _title + &quot;&lt;br&gt;&lt;i&gt;&quot; + _pubDate + &quot;&lt;/i&gt;&lt;br&gt;&lt;br&gt;&quot;;<br />
			}<br />
		}</p>
<p>		//////////////////////////////////////// twitter specific ////////////////////////////////////////</p>
<p>		// one place to convert the tweet<br />
		private function convertTweet (inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			_str = twttrStripName(_str);<br />
			_str = twttrConvertHTTP(_str);<br />
			_str = twttrConvertMention(_str);<br />
			_str = twttrConvertHashtag(_str);<br />
			_str = twttrConvertSmileys(_str);<br />
			return _str;<br />
		}</p>
<p>		// remove the writers name from the tweet<br />
		private function twttrStripName (inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			var _charNumber:Number = _str.indexOf(&quot;:&quot;);<br />
			return _str.substr(_charNumber + 2);<br />
		}</p>
<p>		// convert http-strings to links<br />
		private function twttrConvertHTTP(inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			var _array:Array = _str.split(&quot; &quot;);<br />
			for (var i:int = 0; i &lt; _array.length; i++)<br />
			{<br />
				var _str2:String = twttrStripChar(_array[i]);<br />
				if (_array[i].indexOf(&quot;http&quot;) != -1)<br />
				{<br />
					_array[i] = &quot;&lt;u&gt;&lt;a href=&#8217;&quot; + _str2 + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot; +_array[i] + &quot;&lt;/a&gt;&lt;/u&gt;&quot;;<br />
				}<br />
			}<br />
			return _array.join(&quot; &quot;);<br />
		}</p>
<p>		// convert mentions (@) to links<br />
		private function twttrConvertMention(inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			var _array:Array = _str.split(&quot; &quot;);<br />
			for (var i:int = 0; i &lt; _array.length; i++)<br />
			{<br />
				var _str2:String = twttrStripChar(_array[i]);<br />
				if (_array[i].substr(0, 1) == &quot;@&quot;)<br />
				{<br />
					_array[i] = &quot;&lt;u&gt;&lt;a href=&#8217;http://www.twitter.com/&quot; + _str2.split(&quot;@&quot;)[1] + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot; +_array[i] + &quot;&lt;/a&gt;&lt;/u&gt;&quot;;<br />
				}<br />
			}<br />
			return _array.join(&quot; &quot;);<br />
		}</p>
<p>		// convert hashtags (#) to links<br />
		private function twttrConvertHashtag(inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			var _array:Array = _str.split(&quot; &quot;);<br />
			for (var i:int = 0; i &lt; _array.length; i++)<br />
			{<br />
				var _str2:String = twttrStripChar(_array[i]);<br />
				if (_array[i].substr(0, 1) == &quot;#&quot;)<br />
				{<br />
					_array[i] = &quot;&lt;u&gt;&lt;a href=&#8217;http://twitter.com/search?q=%23&quot; + _str2.split(&quot;#&quot;)[1] + &quot;&#8217; target=&#8217;_blank&#8217;&gt;&quot; +_array[i] + &quot;&lt;/a&gt;&lt;/u&gt;&quot;;<br />
				}<br />
			}<br />
			return _array.join(&quot; &quot;);<br />
		}		</p>
<p>		// TODO: [mck] convert <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  to a smiley image<br />
		private function twttrConvertSmileys(inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			return _str;<br />
		}</p>
<p>		// remove &quot;strange&quot; characters from the end of the string<br />
		private function twttrStripChar(inString:String):String<br />
		{<br />
			var _str:String = inString;<br />
			var _charArray:Array = [',', ';', ':', ' ', '-', '_'];<br />
			for (var i:int = 0; i &lt; _charArray.length; i++)<br />
			{<br />
				if (_str.charAt(_str.length &#8211; 1) == _charArray[i]) {<br />
					_str = _str.substr(0, _str.length &#8211; 1);<br />
				}<br />
			}<br />
			return _str;<br />
		}</p>
<p>	} // end class</p>
<p>} // end package<br />
[/as]</p>
<p>Currently I have only this proof of concept, but soon I will post the example on <a href="http://www.emceekay.nl">emceekay.nl</a>&#8230;</p>
<p>Because this is part one of what I want to do, and don&#8217;t want to search for every link again, I&#8217;m posting also the WordPress link here (it&#8217;s just because I&#8217;m lazy).</p>
<p>So here the feeds I will be using:</p>
<ul>
<li><a href="http://twitter.com/statuses/user_timeline/27657030.rss" title="Matthijs Kamstra - Twitter - rss" rel="alternate" type="application/rss+xml">Matthijs Kamstra &#8211; Twitter &#8211; rss</a></li>
<li><a href="http://www.matthijskamstra.nl/blog/wp-rss2.php?cat=11" title="[mck] Urban papercraft RSS feed" rel="alternate" type="application/rss+xml">All Urban papercraft posts</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2009/12/30/twitter-rss-reader-in-flash-as3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>What a Flash / ActionScript Developer needs to know</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2009/09/03/what-a-flash-actionscript-developer-needs-to-know/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2009/09/03/what-a-flash-actionscript-developer-needs-to-know/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 09:10:36 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[flash developer]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1130</guid>
		<description><![CDATA[Yesterday I saw this post in my RSS feeds, and I just want to remember this (and make sure that I&#8217;m really a senior ) So here is a list of stuff you need to know when you say you are a senior Flash/ActionScript developer: http://pv3d.org/2009/08/28/10-things-every-senior-flash-developer-should-know/ I don&#8217;t like to regurgitate so I only show [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I saw this post in my RSS feeds, and I just want to remember this (and make sure that I&#8217;m really a senior <img src='http://www.matthijskamstra.nl/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>So here is a list of stuff you need to know when you say you are a senior Flash/ActionScript developer:<br />
<a href="http://pv3d.org/2009/08/28/10-things-every-senior-flash-developer-should-know/">http://pv3d.org/2009/08/28/10-things-every-senior-flash-developer-should-know/</a></p>
<p>I don&#8217;t like to regurgitate so I only show you the top 10, for examples visit the list by <a href="http://pv3d.org/2009/08/28/10-things-every-senior-flash-developer-should-know/">John Lindquist</a></p>
<ol>
<li>The Elastic Racetrack</li>
<li>FlexSDK, mxmlc, compc, and all that jazz</li>
<li>Player Events, Custom Events, Event Bubbling</li>
<li>Statements, Keywords, and Directives</li>
<li>ASDoc</li>
<li>Managing visual assets (images, fonts, CSS, etc)</li>
<li>Arrays, Collections, Dictionaries, Mapping</li>
<li>Programmatic motion (tweening, easing)</li>
<li>OOP and Coding Against Frameworks</li>
<li>Version control</li>
</ol>
<p>And after reading this I remembered gskinner had a similar list:<br />
<a href="http://www.gskinner.com/blog/archives/2009/07/flash_actionscr.html">http://www.gskinner.com/blog/archives/2009/07/flash_actionscr.html</a></p>
<p>This is a bigger list and a lot of comments, so you need to visit the list and read it and all its comments</p>
<p>Another post about the subject: &#8220;Things Every Flash Developer Should Know&#8221; &#8211;> <a href="http://gskinner.com/talks/things/">http://gskinner.com/talks/things/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2009/09/03/what-a-flash-actionscript-developer-needs-to-know/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first AIR app: SWF2GIF-banner &#8211; part 1</title>
		<link>http://www.matthijskamstra.nl/blog/index.php/2009/08/12/my-first-air-app-swf2gif-banner-part-1/</link>
		<comments>http://www.matthijskamstra.nl/blog/index.php/2009/08/12/my-first-air-app-swf2gif-banner-part-1/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 08:00:53 +0000</pubDate>
		<dc:creator>Matthijs Kamstra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[animated gif]]></category>
		<category><![CDATA[flashdevelop]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[SWF]]></category>

		<guid isPermaLink="false">http://www.matthijskamstra.nl/blog/?p=1040</guid>
		<description><![CDATA[Sometimes, and I&#8217;m not very fond of them, I need to make banners&#8230;.. The animation part is not so bad, but making the different sizes&#8230;. that can be a drag. And after you made the SWF banners, you also need to make the animation in GIF. This is how I use to do it: make [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes, and I&#8217;m not very fond of them, I need to make banners&#8230;..<br />
The animation part is not so bad, but making the different sizes&#8230;. that can be a drag.<br />
And after you made the SWF banners, you also need to make the animation in GIF.</p>
<p>This is how I use to do it: </p>
<ol>
<li>make the SWF banner</li>
<li>embed it in a html page with a background color that is not in the banner itself (a border around the SWF banner helps)</li>
<li>make snapshots of the animation</li>
<li>open photoshop >> (I used a action for this part&#8230;.)</li>
<li>place all the images in one document</li>
<li>cut the browser from the screenshot</li>
<li>select the background-color reverse the selection and cut</li>
<li>make a animation from all the layers (end photoshop action)</li>
<li>save</li>
</ol>
<p>I have never made an AIR application but I think that it should be possible to make a SWF2GIF converter in AIR.</p>
<p>Stuff what I need to find out:</p>
<ul>
<li>browse for a file</li>
<li>load that file into air</li>
<li>take snapshots of the animation</li>
<li>controle the frame rate of the animation</li>
<li>make a animated gif </li>
<li>save everything</li>
<li>etc.</li>
</ul>
<p><strong>Lets start with some basic:</strong><br />
I&#8217;m still working on CS3, and it seems that AIR default is installed with CS4<br />
Installing the Adobe AIR update for Flash CS3</p>
<p>English: <a href="http://help.adobe.com/en_US/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7fc3.html" class="broken_link">http://help.adobe.com/en_US/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7fc3.html</a><br />
Dutch: <a href="http://help.adobe.com/nl_NL/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7fc3.html">http://help.adobe.com/nl_NL/AIR/1.5/devappsflash/WS5b3ccc516d4fbf351e63e3d118666ade46-7fc3.html</a></p>
<p>You can also use FlashDevelop 3.0.1, AIR is also installed with that program and in combination with Flex sdk you don&#8217;t even need Flash.</p>
<p>Because I&#8217;m not finished with it (I will only work on it when I have to build banners) I will post now and then some parts of the code.</p>
<p>For some reason I couldn&#8217;t find the code to load SWF into AIR using &#8220;browse&#8221;.</p>
<p>[as light="false" wraplines="true"]<br />
private function openSwfFile(e:MouseEvent = null):void<br />
{<br />
	var imagesFilter:FileFilter = new FileFilter(&quot;Flash SWF&quot;, &quot;*.swf&quot;);<br />
	myFile = new File();<br />
	myFile.addEventListener(Event.SELECT, selectHandler);<br />
	myFile.browseForOpen(&quot;Open&quot;, [imagesFilter]);<br />
}</p>
<p>private function selectHandler(event:Event):void<br />
{<br />
	myFile.removeEventListener(Event.SELECT, selectHandler);<br />
	loadSWF(myFile.url);<br />
}</p>
<p>private function loadSWF(inName:String):void<br />
{<br />
	trace( &quot;Main.loadSWF &gt; inName : &quot; + inName );<br />
	mLoader = new Loader();<br />
	mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);<br />
	mLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onErrorComplete);<br />
	mLoader.load(new URLRequest(inName));<br />
}<br />
private function onLoaderComplete(e:Event):void { startOnEnterFrameHandler(); }<br />
private function onErrorComplete(e:IOErrorEvent):void { trace( &quot;Main.onErrorComplete &gt; e : &quot; + e ); }</p>
<p>private function startOnEnterFrameHandler():void<br />
{<br />
	_movie.addChild(mLoader);<br />
	// _movie.addEventListener(Event.ENTER_FRAME , onEnterFrameHandler);<br />
}<br />
[/as]<br />
just use a button to activate.</p>
<p>I know the code is not complete&#8230; and that some classes have strange names&#8230; it&#8217;s work in progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.matthijskamstra.nl/blog/index.php/2009/08/12/my-first-air-app-swf2gif-banner-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

