<?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>DesignFission &#187; Flash</title>
	<atom:link href="http://www.designfission.com/blog/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.designfission.com/blog</link>
	<description>Flash, Web, Javascript and everything else</description>
	<lastBuildDate>Sun, 25 Dec 2011 18:31:49 +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>Facebook App Boilerplate</title>
		<link>http://www.designfission.com/blog/2011/11/29/facebook-app-boilerplate/</link>
		<comments>http://www.designfission.com/blog/2011/11/29/facebook-app-boilerplate/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 04:28:13 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Misc]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[boilerplate]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=599</guid>
		<description><![CDATA[Just pushed a new repo on Github. This one&#8217;s a boilerplate for a Facebook App. Read the README for more details. Do let me know how I can make this better! https://github.com/EdwinToh/Facebook-App-Boilerplate]]></description>
			<content:encoded><![CDATA[<p>Just pushed a new repo on Github.</p>
<p>This one&#8217;s a boilerplate for a Facebook App. Read the README for more details. Do let me know how I can make this better!</p>
<p><a href="https://github.com/EdwinToh/Facebook-App-Boilerplate">https://github.com/EdwinToh/Facebook-App-Boilerplate</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2011/11/29/facebook-app-boilerplate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash AS3 Light Painting</title>
		<link>http://www.designfission.com/blog/2011/10/18/flash-as3-light-painting/</link>
		<comments>http://www.designfission.com/blog/2011/10/18/flash-as3-light-painting/#comments</comments>
		<pubDate>Mon, 17 Oct 2011 17:50:26 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[light painting]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=595</guid>
		<description><![CDATA[Just created my first Github Public repo and did an initial commit. Take a look here: https://github.com/EdwinToh/LightPainter LightPainter is an app that allows you to create your own light painting effects with your web cam. It&#8217;s an initial commit so documentation and comments are scarce and unorganized. Have fun painting!]]></description>
			<content:encoded><![CDATA[<p>Just created my first Github Public repo and did an initial commit. </p>
<p>Take a look here: <a href="https://github.com/EdwinToh/LightPainter">https://github.com/EdwinToh/LightPainter</a></p>
<p>LightPainter is an app that allows you to create your own light painting effects with your web cam. It&#8217;s an initial commit so documentation and comments are scarce and unorganized. </p>
<p>Have fun painting!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2011/10/18/flash-as3-light-painting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nokia Black Box Installation</title>
		<link>http://www.designfission.com/blog/2011/06/19/nokia-black-box-installation/</link>
		<comments>http://www.designfission.com/blog/2011/06/19/nokia-black-box-installation/#comments</comments>
		<pubDate>Sat, 18 Jun 2011 16:41:19 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[as3glue]]></category>
		<category><![CDATA[clickatell]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=535</guid>
		<description><![CDATA[I built a mini installation in a week with my new developer partner &#8211; Noel Chan and colleague Brian Law, and if you&#8217;re interested to check it out, do go down to the Nokia Black Box tomorrow. It will be at 30 Maxwell Road and is open from 10am to 10pm. The installation was built [...]]]></description>
			<content:encoded><![CDATA[<p>I built a mini installation in a week with my new developer partner &#8211; Noel Chan and colleague Brian Law, and if you&#8217;re interested to check it out, do go down to the Nokia Black Box tomorrow. It will be at 30 Maxwell Road and is open from 10am to 10pm. </p>
<p>The installation was built using Arduino, a Sharp sensor, Clickatell&#8217;s SMS service and the Flash framework as3glue. When a person passes by the sensor, Arduino reads the data, and transfer it to Flash via serproxy, Flash then will trigger a HTTP call to Clickatell&#8217;s web service to send out SMSes to 3 Nokia phones placed on the walls of the event space. </p>
<p>Here&#8217;re some pictures of the making of and the event space. Enjoy!</p>
<figure><img src="http://a8.sphotos.ak.fbcdn.net/hphotos-ak-ash4/248879_10150213007297503_722362502_7296095_6029345_n.jpg" alt="Prototyping" width="400" style="float:left;" /></figure>
<figure><img src="http://a8.sphotos.ak.fbcdn.net/hphotos-ak-ash4/251318_10150213006652503_722362502_7296081_931630_n.jpg" alt="Sensor attached" width="400" /></figure>
<figure><img src="http://a1.sphotos.ak.fbcdn.net/hphotos-ak-snc6/253944_10150213006842503_722362502_7296084_54080_n.jpg" alt="Hacking the box to fit in everything" width="400" style="float:left;" /></figure>
<figure><img src="http://a3.sphotos.ak.fbcdn.net/hphotos-ak-snc6/251327_10150213006932503_722362502_7296087_5292569_n.jpg" alt="All done!" width="400" style="float:left;" /></figure>
<figure><img src="http://a6.sphotos.ak.fbcdn.net/hphotos-ak-snc6/249700_10150213007077503_722362502_7296089_1822112_n.jpg" alt="Set up at the event space." width="400" /></figure>
<figure><img src="http://a3.sphotos.ak.fbcdn.net/hphotos-ak-snc6/250534_10150213007197503_722362502_7296093_4688346_n.jpg" alt="Apps running" width="400" style="float:left;" /></figure>
<figure><img src="http://a2.sphotos.ak.fbcdn.net/hphotos-ak-snc6/249805_10150213007237503_722362502_7296094_3893814_n.jpg" alt="Tunes" width="400" /></figure>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2011/06/19/nokia-black-box-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First FWA Win: Devil Yogurt</title>
		<link>http://www.designfission.com/blog/2011/04/07/first-fwa-win-devil-yogurt/</link>
		<comments>http://www.designfission.com/blog/2011/04/07/first-fwa-win-devil-yogurt/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 12:21:40 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Showcases]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[award]]></category>
		<category><![CDATA[devil]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[fwa]]></category>
		<category><![CDATA[kinetic]]></category>
		<category><![CDATA[yogurt]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=467</guid>
		<description><![CDATA[I can&#8217;t believe I forgot to post news of my first ever FWA win. Winning an FWA has always been my dream and thanks to the great work of my colleagues at Kinetic Singapore, we won an FWA for DevilYogurt.com. Check it out if you have the time, and enjoy creating your own Devil Yogurt.]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t believe I forgot to post news of my first ever FWA win. </p>
<p>Winning an FWA has always been my dream and thanks to the great work of my colleagues at Kinetic Singapore, we won an FWA for DevilYogurt.com.</p>
<p>Check it out if you have the time, and enjoy creating your own Devil Yogurt. <img src='http://dfblog.qwertydesign.netdna-cdn.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2011/04/07/first-fwa-win-devil-yogurt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cooties Alternatives: HTML5 &amp; CSS3 Timeline Editors</title>
		<link>http://www.designfission.com/blog/2010/11/08/cooties-alternatives-html5-css3-timeline-editors/</link>
		<comments>http://www.designfission.com/blog/2010/11/08/cooties-alternatives-html5-css3-timeline-editors/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 04:08:04 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[animate]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[edge]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[sencha animator]]></category>
		<category><![CDATA[timeline editor]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=448</guid>
		<description><![CDATA[Again, something that slipped through my rader, it turns out that Cooties isn&#8217;t the only Timeline Editor for HTML5 &#038; CSS3 animations. Adobe is working on EDGE, a tool that lets you convert .fla files to .html. Check out the video of the tool in action: There&#8217;s also another application that is already released for [...]]]></description>
			<content:encoded><![CDATA[<p>Again, something that slipped through my rader, it turns out that Cooties isn&#8217;t the only Timeline Editor for HTML5 &#038; CSS3 animations. </p>
<p>Adobe is working on EDGE, a tool that lets you convert .fla files to .html. Check out the video of the tool in action:<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/ryZP00_KhYE?fs=1&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/ryZP00_KhYE?fs=1&amp;hl=en_US" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>There&#8217;s also another application that is already released for the public for use, <a href="http://www.sencha.com/products/animator/">Sencha Animator</a>. Check out the demos <a href="http://dev.sencha.com/animator/demos/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/11/08/cooties-alternatives-html5-css3-timeline-editors/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Opening a ColorBox in Flash</title>
		<link>http://www.designfission.com/blog/2010/09/19/opening-a-colorbox-in-flash/</link>
		<comments>http://www.designfission.com/blog/2010/09/19/opening-a-colorbox-in-flash/#comments</comments>
		<pubDate>Sun, 19 Sep 2010 07:54:33 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[colorbox]]></category>
		<category><![CDATA[externalinterface]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=390</guid>
		<description><![CDATA[The update to my previous method to "Opening a Thickbox in iFrame" is finally here.]]></description>
			<content:encoded><![CDATA[<p>The update to my previous method to &#8220;Opening a Thickbox in iFrame&#8221; is finally here.</p>
<p>As you all know, ThickBox is no longer under development since 2007, the next popular alternative to take over the reigns of ThickBox seems to be ColorBox, and so I&#8217;ve done a new tutorial to do the same thing with ColorBox.</p>
<p>There are a few things that remain the same from the other example.</p>
<h2>Step 1: Prepare your HTML.</h2>
<p>Include the source files to ColorBox&#8217;s CSS, and Javascript files, as well as the original jQuery JS files.</p>
<p><em>Insert in the <head> tags of your HTML:</em></p>
<pre class="brush: plain; title: ; notranslate">
&lt;link media=&quot;screen&quot; rel=&quot;stylesheet&quot; href=&quot;colorbox.css&quot; /&gt;
&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;colorbox/jquery.colorbox.js&quot;&gt;&lt;/script&gt;
</pre>
<h2>Step 2: Insert the Flash</h2>
<p>Using SWFObject, insert Flash in your HTML and remember to set the following 2 parameters: &#8220;<strong>allowScriptAccess</strong>&#8221; to &#8220;<strong>always</strong>&#8221; and &#8220;<strong>wmode</strong>&#8221; to &#8220;<strong>transparent</strong>&#8220;.</p>
<p><em>Insert in the <head> tags of your HTML:</em></p>
<pre class="brush: plain; title: ; notranslate">
&lt;script src=&quot;Scripts/swfobject_modified.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
</pre>
<p><em>Insert in the <body> tags of your HTML:</em></p>
<pre class="brush: plain; title: ; notranslate">
&lt;object id=&quot;FlashID&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; width=&quot;550&quot; height=&quot;200&quot;&gt;
  &lt;param name=&quot;movie&quot; value=&quot;colorbox.swf&quot;&gt;
  &lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;
  &lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;
  &lt;param name=&quot;swfversion&quot; value=&quot;6.0.65.0&quot;&gt;
  &lt;!-- This param tag prompts users with Flash Player 6.0 r65 and higher to download the latest version of Flash Player. Delete it if you don’t want users to see the prompt. --&gt;
  &lt;param name=&quot;expressinstall&quot; value=&quot;Scripts/expressInstall.swf&quot;&gt;
  &lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;
  &lt;!-- Next object tag is for non-IE browsers. So hide it from IE using IECC. --&gt;
  &lt;!--[if !IE]&gt;--&gt;
  &lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;colorbox.swf&quot; width=&quot;550&quot; height=&quot;200&quot;&gt;
    &lt;!--&lt;![endif]--&gt;
    &lt;param name=&quot;quality&quot; value=&quot;high&quot;&gt;
    &lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;
    &lt;param name=&quot;swfversion&quot; value=&quot;6.0.65.0&quot;&gt;
    &lt;param name=&quot;expressinstall&quot; value=&quot;Scripts/expressInstall.swf&quot;&gt;
    &lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;&gt;
    &lt;!-- The browser displays the following alternative content for users with Flash Player 6.0 and older. --&gt;
    &lt;div&gt;
      &lt;h4&gt;Content on this page requires a newer version of Adobe Flash Player.&lt;/h4&gt;
      &lt;p&gt;&lt;a href=&quot;http://www.adobe.com/go/getflashplayer&quot;&gt;&lt;img src=&quot;http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif&quot; alt=&quot;Get Adobe Flash player&quot; width=&quot;112&quot; height=&quot;33&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
    &lt;/div&gt;
    &lt;!--[if !IE]&gt;--&gt;
  &lt;/object&gt;
  &lt;!--&lt;![endif]--&gt;
&lt;/object&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
swfobject.registerObject(&quot;FlashID&quot;);
&lt;/script&gt;
</pre>
<h2>Step 3: Prepare the Javascript Function</h2>
<p>Because ColorBox does some parsing of the Javascript functions and ExternalInterface doesn&#8217;t seem to be able to call functions with the dollar sign in them. What I&#8217;ve done here is to create a simple javascript function and use Flash to call this very function. </p>
<p><em>Insert in the <head> tags of your HTML:</em></p>
<pre class="brush: plain; title: ; notranslate">
&lt;script&gt;

	function launchColorBox(url){
		$.colorbox({href:url,width:&quot;80%&quot;, height:&quot;80%&quot;,iframe:true});
	}

&lt;/script&gt;
</pre>
<h3>Step 4: The Flash Code!</h3>
<p>The final step is to actually reuse the Flash Code in my previous version, making only slight changes. Create a button with the instance name &#8220;btn1&#8243; and put the code in the first frame of your Flash file.</p>
<pre class="brush: plain; title: ; notranslate">
stop()
//Imports the ExternalInterface Class
import flash.external.ExternalInterface;

//Adds the CLICK eventlistener to the button btn1
btn1.addEventListener(MouseEvent.CLICK,openColorBox)

//Launches the JS function that we created earlier.
function openColorBox(e:MouseEvent){
	ExternalInterface.call(&quot;launchColorBox&quot;,&quot;http://www.google.com&quot;);
}
</pre>
<p>You can view the demo <a href="http://www.designfission.com/colorbox">here </a>and download the source files <a href="http://www.designfission.com/colorbox-example-updated.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/09/19/opening-a-colorbox-in-flash/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>SWX Twitter API For Dummies</title>
		<link>http://www.designfission.com/blog/2010/03/22/swx-twitter-api-for-dummies/</link>
		<comments>http://www.designfission.com/blog/2010/03/22/swx-twitter-api-for-dummies/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 10:26:58 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[fla]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[swx]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=319</guid>
		<description><![CDATA[Learn how to use the great SWX Twitter API written by Aral Balkan. (with source code)]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve always had a problem understanding documentation for APIs, hence when I do get something, I have this urge to share so that anyone who has the same problem can do what I am trying to do.</p>
<p>In my opinion, the best documentation ever written is by <a href="http://twitter.com/Gskinner" target="_blank">gskinner </a>for <a href="http://www.greensock.com/tweenmax/" target="_blank">TweenMax</a>, and I think few would argue with me about that. </p>
<p>Having said that, the documentation written by aral for the <a href="http://apiwiki.twitter.com/SWX-Twitter-API" target="_blank">SWX Twitter API</a> is actually not too bad as well. But being completely new to both the Twitter API and the <a href="http://apiwiki.twitter.com/SWX-Twitter-API" target="_blank">SWX Twitter API</a>, one might be lost upon landing on the API page. </p>
<p>Now that my ramblings are done, on with the tutorial. </p>
<p>First, download the SWX Code from <a href="http://code.google.com/p/swx-format/downloads/list" target="_blank">here</a>. As of the time of writing, go ahead and download the v2 which is still in BETA as it works just fine.</p>
<p>This tutorial will show you how easy it is to update your Twitter status using the SWX Twitter API. </p>
<p>Here&#8217;s a look at what we will be creating:<br />
[kml_flashembed publishmethod="static" fversion="8.0.0" movie="http://www.designfission.com/swxtutorial/twitter.swf" width="400" height="380" targetclass="flashmovie"]</p>
<figure><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></figure>
<p>[/kml_flashembed]</p>
<p>Code:</p>
<pre class="brush: as3; title: ; notranslate">
stop();
loader.serviceClass = &quot;Twitter&quot;;
loader.method = &quot;getPublicUpdates&quot;;
loader.debug = true;
loader.loadMovie(&quot;http://swxformat.org/php/swx.php&quot;,&quot;GET&quot;);

import org.swxformat.*;
var swx:SWX = new SWX();
swx.gateway = &quot;http://swxformat.org/php/swx.php&quot;;
swx.encoding = &quot;POST&quot;;
swx.timeout = 10;
swx.debug = true;
swx.faultHandler = Delegate.create(this, faultHandler);
swx.progressHandler = Delegate.create(this, progressHandler);
swx.timeoutHandler = Delegate.create(this, timeoutHandler);

function updateTwitter() {

	var callParameters:Object = {
		serviceClass:&quot;Twitter&quot;,
		method:&quot;update&quot;,
		args:[message_txt.text, username_txt.text, password_txt.text], 

		result: [this, resultHandler],
		progress: [this, progressHandler],
		timeout: [this, timeoutHandler],
		fault: [this, faultHandler],
		debug: true
	}
	swx.call(callParameters);
	isLoading(true);
}

function resultHandler(event:Object) {
	isLoading(false);
	status.text = event.result;
}

function progressHandler(event:Object) {
	trace(&quot;progressHandler: &quot; + event.bytesLoaded + &quot; of &quot; + event.bytesTotal);
}
function timeoutHandler(event:Object) {
	isLoading(false);
	status.text = &quot;Call timeout. Please try again.&quot;;
}
function faultHandler(event:Object) {
	isLoading(false);
	status.text = &quot;Call fault. Please try again.&quot;;
}

update_btn.onRelease = function() {
	updateTwitter();
};
</pre>
<p><a href="http://www.designfission.com/swxtutorial/twitter.zip">Source Files</a> (AS2.0 | CS3 Format)</p>
<p>I&#8217;m not going to explain the code unless someone requests for it as it&#8217;s really quite simple and straightforward. The other reason is due to a lack of time. I figured if I don&#8217;t share this now, I might not want to do it in the future, so hey, at least you have the code. <img src='http://dfblog.qwertydesign.netdna-cdn.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Once again, hope this helps someone out there.</p>
<p>Note: For other Flash Developers like me out there, if you need to integrate Facebook as well using AS2.0, take a look at <a href="http://www.echoesofburmajones.com/2009/09/18/20/facebook_connect_in_flash_actionscript_2.htm" target="_blank">http://www.echoesofburmajones.com/2009/09/18/20/facebook_connect_in_flash_actionscript_2.htm</a> for an excellent tutorial (w/source files)!</p>
<p>If this post helped you in any way, help me in return by clicking on the ad below:<br />
<script type="text/javascript"><!--
google_ad_client = "pub-1241157645351204";
/* 300x250, created 3/27/10 */
google_ad_slot = "0640751317";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/03/22/swx-twitter-api-for-dummies/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Flash, Arduino, Influxis and SmartFox</title>
		<link>http://www.designfission.com/blog/2010/03/21/tank-commander-battlefield-bad-company-2/</link>
		<comments>http://www.designfission.com/blog/2010/03/21/tank-commander-battlefield-bad-company-2/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 20:52:05 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[Arduino]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[battlefield]]></category>
		<category><![CDATA[battlefield bad company 2]]></category>
		<category><![CDATA[bf2]]></category>
		<category><![CDATA[bfbc2]]></category>
		<category><![CDATA[flash media server]]></category>
		<category><![CDATA[fms]]></category>
		<category><![CDATA[influxis]]></category>
		<category><![CDATA[rc tank]]></category>
		<category><![CDATA[serproxy]]></category>
		<category><![CDATA[smartfoxserver]]></category>
		<category><![CDATA[tank]]></category>
		<category><![CDATA[xbee]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/?p=311</guid>
		<description><![CDATA[A case study of a microsite for Battlefield Bad Company 2.

Learn how I used Arduino, Flash, Smart Fox Server, and Influxis (Flash Media Server) to create the site.]]></description>
			<content:encoded><![CDATA[<p>The reason why I&#8217;ve not been updating much recently: <a href="http://bit.ly/tcbfc2" target="_blank">http://bit.ly/tcbfc2</a> (the campaign has finished! thanks for all the support!)</p>
<p>The microsite was a campaign for the Singapore launch of the highly anticipated sequel: Battlefield Bad Company 2, an FPS developed by DICE and published by EA games. </p>
<p>As BF2 features destructable environments &#8211; and tanks. We came up with the idea of letting players do exactly that &#8211; in real life. What users were able to do was that they could connect to a real model tank in the physical world and battle 3 other players in a prebuilt environment.</p>
<p>A camera was mounted on each of the tank so that the connected player can &#8220;see through&#8221; the turret of the tank. Players control the tank with the keyboard and then engage other players in battle with other tanks on a diorama that was installed at a cineplex in Singapore.</p>
<p>To be able to control the tank, my tech lead stripped bare the insides of the RC tank that we got from our supplier, <a href="http://www.vstank.com/" target="_blank">VSTank</a>, and put in his own customised and improvised version of the Arduino + XBee shield + Xbee components. Customised batteries were ordered and modded to power the Arduino which then passes the commands received through the XBee to the tank motors. </p>
<p>Each tank has a defined server which is actually a Netbook. To enable the sending of Serial data via the USB COM ports, serproxy was used along with the excellent SmartFoxServer. As there was no stable wifi-connection in the cineplex, the netbooks were connected using M1&#8242;s Mobile Broadband service (a 3G HSDPA network). </p>
<p>Due to the slow speeds of the mobile broadband, we had to sacrifice some video quality to achieve minimum control lag for the players who are connecting to the tanks from all over the world. The other problem we had was the streaming of the video feeds. As Singapore does not have any web hosting companies that offer Flash Media Servers, we turned to <a href="http://www.influxis.com" target="_blank">Influxis</a>. This was perhaps the smoothest part of the entire project. The Influxis support was amazingly helpful, and the free tools and control panel that comes with every account was easy to use and set up. I am thinking of writing a tutorial for broadcasting a live feed to the world using Influxis soon! </p>
<p>As we were looking at a few alternatives at the time, the other service I tried was UStream, a free web streaming service that does exactly what I wanted. The problem though was that there was almost a 4 second delay between the feed I was broadcasting and the one that I was receiving. This was impossible to use for our game as we needed almost zero lag to let players control the tank efficiently. After signing up for the cheapest available plan (US$6/month) to do a test, we decided to go with Influxis as the 4 second delay was brought down to 0.5 seconds! </p>
<p>Next, a queue system was built so that only 4 players were able to connect to each one of the tanks. </p>
<p>The entire project was completed within 2 weeks and it generated thousands of hits from all over the world. I&#8217;m pretty sure that what we did was an industry first. It was tough but the process was fun and I learnt alot along the way. </p>
<p>Some pictures of the diorama, tanks, and Arduino:</p>
<figure><img src="http://www.designfission.com/tankcommander/arduino.jpg" alt="Arduino" /><br />
The Arduino</p>
<p><img src="http://www.designfission.com/tankcommander/prototyping2.jpg" alt="Prototyping" /><br />
Prototyping</p>
<p><img src="http://www.designfission.com/tankcommander/tankv1.jpg" alt="Tank version 1" /><br />
Tank Version 1.0</p>
<p><img src="http://www.designfission.com/tankcommander/xbeeshield.jpg" alt="XBEE Shield" /><br />
The XBee Shield</p>
<p><img src="http://www.designfission.com/tankcommander/theinsides.jpg" alt="The Insides of the Tank 1" /><br />
The insides of the tank</p>
<p><img src="http://www.designfission.com/tankcommander/mountedxbees.jpg" alt="Mounted XBees" /><br />
Mounted XBees for minimum interference</p>
<p><img src="http://www.designfission.com/tankcommander/all4tanksreadytoroll.jpg" alt="All 4 Tanks!" /><br />
All 4 Tanks ready to roll!</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Tl48h7_xYMI&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Tl48h7_xYMI&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></figure>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/nrgmJ4BXGto&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/nrgmJ4BXGto&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/v8A-ytExw7k&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/v8A-ytExw7k&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>That&#8217;s all for now. I&#8217;m just sharing what I learnt during this project with everyone. Hope everyone had fun reading it and watching the videos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/03/21/tank-commander-battlefield-bad-company-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Master Volume Control in AS3.0</title>
		<link>http://www.designfission.com/blog/2010/02/12/master-volume-control-in-as3-0/</link>
		<comments>http://www.designfission.com/blog/2010/02/12/master-volume-control-in-as3-0/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 08:55:09 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[setvolume]]></category>
		<category><![CDATA[sound]]></category>
		<category><![CDATA[soundmixer]]></category>
		<category><![CDATA[soundtransform]]></category>
		<category><![CDATA[stop]]></category>
		<category><![CDATA[stopall]]></category>

		<guid isPermaLink="false">http://www.designfission.com/blog/2010/02/12/master-volume-control-in-as3-0/</guid>
		<description><![CDATA[Source code after the jump.]]></description>
			<content:encoded><![CDATA[<p>Applied to a single button. Frame 1 shows that sound is on, and frame 2 shows that it&#8217;s off.</p>
<pre class="brush: as3; title: ; notranslate">
sound_mc.buttonMode = true
sound_mc.addEventListener(MouseEvent.CLICK,toggleSound)

function toggleSound(e:MouseEvent){
	var tempMC:MovieClip = e.currentTarget as MovieClip
	var sTransform:SoundTransform = new SoundTransform(1,0);
	if(tempMC.currentFrame == 1){
		tempMC.gotoAndStop(2)
		sTransform.volume = 0;
	}else if(tempMC.currentFrame == 2){
		tempMC.gotoAndStop(1)
		sTransform.volume = 1;
	}
	SoundMixer.soundTransform = sTransform;
}
</pre>
<p>If this post helped you in any way, help me in return by clicking on the ad below:<br />
<script type="text/javascript"><!--
google_ad_client = "pub-1241157645351204";
/* 300x250, created 3/27/10 */
google_ad_slot = "0640751317";
google_ad_width = 300;
google_ad_height = 250;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/02/12/master-volume-control-in-as3-0/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New FFD Issue</title>
		<link>http://www.designfission.com/blog/2010/01/09/new-ffd-issue/</link>
		<comments>http://www.designfission.com/blog/2010/01/09/new-ffd-issue/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 23:40:57 +0000</pubDate>
		<dc:creator>Edwin</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[ffd]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[magazine]]></category>

		<guid isPermaLink="false">http://designfission.com/blog/2010/01/09/new-ffd-issue/</guid>
		<description><![CDATA[Check out the latest issue of the FFD Magazine:]]></description>
			<content:encoded><![CDATA[<p>Check out the latest issue of the FFD Magazine:</p>
<figure><a href="http://ffdmag-en.software.alfa.javatech.com.pl/download-1-2010"><img alt="FFD January Issue" src="http://ffdmag-en.software.alfa.javatech.com.pl/system/files/files/222/original/january.jpg?1262967953" title="FFD January Issue" class="alignleft" width="351" height="137" /></a></figure>
]]></content:encoded>
			<wfw:commentRss>http://www.designfission.com/blog/2010/01/09/new-ffd-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Content Delivery Network via dfblog.qwertydesign.netdna-cdn.com

Served from: www.designfission.com @ 2012-02-06 13:55:53 -->
