<?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>Anton Mills</title>
	<atom:link href="http://www.antonmills.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.antonmills.com</link>
	<description>Actionscript and Mobile Development</description>
	<lastBuildDate>Sun, 05 Sep 2010 16:32:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>AS3 Signals &#8211; Data Payloads</title>
		<link>http://www.antonmills.com/?p=374</link>
		<comments>http://www.antonmills.com/?p=374#comments</comments>
		<pubDate>Sun, 05 Sep 2010 16:32:38 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=374</guid>
		<description><![CDATA[Following on from my previous post in dealing with AS3 Signals, we&#8217;re going to look at how we would use Signals like custom Events and how data can be transmitted through them. Starting with the same two files as we have used previously, in the following example you can see a document root that listens [...]]]></description>
			<content:encoded><![CDATA[<p>Following on from my previous post in dealing with AS3 Signals, we&#8217;re going to look at how we would use Signals like custom Events and how data can be transmitted through them.</p>
<p><span id="more-374"></span></p>
<p>Starting with the same two files as we have used previously, in the following example you can see a document root that listens for a Signal and invokes a method of our BasicObject. This time the Signal will be carrying data that we can work with:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package  
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * This is the second of three Signals tutorials.
	 * In this example we will be looking at the basic usage
	 * of a Signal, how it's dispatched and how we work with
	 * the Signal when it's been received by the Listener.
	 * 
	 * @author Anton Mills
	 * @version 05/09/2010
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> Sprite 
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// an object</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> basicObject:BasicObject;
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * constructor
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// create a BasicObject</span>
			basicObject = <span style="color: #000000; font-weight: bold;">new</span> BasicObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// add a listener that will fire repeadly</span>
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #0066CC;">add</span><span style="color: #66cc66;">&#40;</span>basicSignalListener<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// test the dispatch functionality</span>
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * a listener for the BasicObjects basicSignal
		 * Signal events
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> basicSignalListener<span style="color: #66cc66;">&#40;</span>_message:<span style="color: #0066CC;">String</span>, _count:uint, _basicObject:BasicObject<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span>_message, _count, _basicObject<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>So this isn&#8217;t a whole lot different to what we had before, the most notable difference is the basicSignalListener now has three parameters a String _message, an unsigned integer called _count and lastly a reference to a BasicObject instance called _basicObject. All we simply do is trace out the three parameters. There&#8217;s a few small changes to our BasicObject class here:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package  
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">osflash</span>.<span style="color: #006600;">signals</span>.<span style="color: #006600;">Signal</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * This BasicObject is just that, it's here to 
	 * simply dispatch a few Signals that we'll listen
	 * for in Main. It's also worth noting that 
	 * BasicObject doesn't need to extend EventDispatcher,
	 * your objects can remain as light as possible.
	 * 
	 * @author Anton Mills
	 * @version 05/09/2010
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BasicObject 
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// keep the signal public so you attach listeners to it externally</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> basicSignal:Signal;
&nbsp;
		<span style="color: #808080; font-style: italic;">// some local variables</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">message</span>:<span style="color: #0066CC;">String</span>;
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> dispatchCount:uint;
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * constructor
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> BasicObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// set up the variables</span>
			<span style="color: #0066CC;">message</span> = <span style="color: #ff0000;">&quot;We have Signal&quot;</span>;
			dispatchCount = <span style="color: #cc66cc;">0</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// set up the signals</span>
			basicSignal = <span style="color: #000000; font-weight: bold;">new</span> Signal<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">String</span>, uint<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Think of this as a method that performs
		 * some sort of functionality. Once the 
		 * functionality is complete we will dispatch
		 * our Signal.
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> basicAction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			dispatchCount++;
&nbsp;
			<span style="color: #808080; font-style: italic;">// then dispatch</span>
			basicSignal.<span style="color: #006600;">dispatch</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">message</span>, dispatchCount<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>You&#8217;ll notice theres a few changes to this class, we&#8217;ve added two properties, a String called message and an unsigned integer called dispatchCount. They&#8217;re instantiated in the constructor and this time you&#8217;ll notice when we instantiate the Signal in the constructor we define the data that the Signal will carry. In this case we&#8217;ve told it the first parameter will be a String and the second parameter in an unsigned integer, adding data types to the Signal that don&#8217;t match what is expected will throw errors making it easy to locate problems. </p>
<p>Finally the basicAction method has been changed slightly, now each time it is invoked it increments dispatchCount and dspatches the Signal with the local properties message, dispatchCount and a reference to itself using &#8216;this&#8217; to be traced out by our Listener.</p>
<p>Hopefully you can see at this stage just how quick and simple Signals are but also how beneficial they are in wiring your application together. Moving forward you&#8217;ll probably want to begin looking at DeluxeSignals as they allow a little more flexibility when registering Listeners as you can work with priorities using: addWithPriority(listener:Function, priority:int = 0). Next up I&#8217;ll probably be looking at how we use Signals with native events, such as MouseEvent.CLICK to make a usable application (albeit simple of course!).</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=374</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AS3 Signals</title>
		<link>http://www.antonmills.com/?p=361</link>
		<comments>http://www.antonmills.com/?p=361#comments</comments>
		<pubDate>Sun, 05 Sep 2010 12:47:03 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[Actionscript]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=361</guid>
		<description><![CDATA[I&#8217;m currently battling away with the mechanics for an iPhone/iPod game so I decided to take the afternoon off from Objective-C and after reading an post on Peter Elst&#8217;s blog regarding AS3 Signals I thought I&#8217;d show AS3 a little love as it&#8217;s had it&#8217;s nose pushed out recently. For those who havent come across [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m currently battling away with the mechanics for an iPhone/iPod game so I decided to take the afternoon off from Objective-C and after reading an post on <a href="http://www.peterelst.com/blog/2010/01/22/as3-signals-the-best-thing-since-sliced-bread/">Peter Elst&#8217;s blog regarding AS3 Signals</a> I thought I&#8217;d show AS3 a little love as it&#8217;s had it&#8217;s nose pushed out recently.</p>
<p>For those who havent come across Signals yet, it&#8217;s a set of messaging tools created by <a href="http://flashblog.robertpenner.com/">robertpenner</a> for wiring your application together, drastically cutting the amount of custom Events and the inherent boilerplate code. It&#8217;s one of those things I&#8217;ve heard about but never really looked in to it so it was good to finally have play around with it and after just 10 minutes of using it you know it&#8217;s instantly going to be really beneficial to your Flash projects, Peter said it&#8217;s the best thing since sliced bread&#8230;. you know what, he&#8217;s bloody right!</p>
<p>Over the next few post&#8217;s I&#8217;m going to put together a few examples of how you can use signals, this first post will show basic Signal usage and interaction with payloads.</p>
<p><span id="more-361"></span></p>
<p>So first up your going to want to grab the latest version of AS3 Signals from their <a href="http://github.com/robertpenner/as3-signals/downloads">git repository</a>. It&#8217;s swc format so make sure you setup the linkages in your IDE of choice.</p>
<p>Once that&#8217;s done your ready to roll, starting with it&#8217;s most basic usage the following shows a document root that instantiates a basic object, attaches a listener to the object Signal and invokes a method on the basic Object.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package  
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * This is the first of three Signals tutorials.
	 * In this example we will be looking at the basic usage
	 * of a Signal, how it's dispatched and how we work with
	 * the Signal when it's been received by the Listener.
	 * 
	 * @author Anton Mills
	 * @version 05/09/2010
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> Sprite 
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// an object</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> basicObject:BasicObject;
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * constructor
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// create a BasicObject and add the listener</span>
			basicObject = <span style="color: #000000; font-weight: bold;">new</span> BasicObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #0066CC;">add</span><span style="color: #66cc66;">&#40;</span>basicSignalListener<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// test the dispatch functionality</span>
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * a listener for the BasicObjects basicSignal
		 * Signal events
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> basicSignalListener<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Main* basicSignal received&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>What&#8217;s important to note at this point is that we attach the listener to the public Signal of the object, we do not (in this case atleast as you&#8217;ll see in later examples we can) attach the listener to the BasicObject itself.</p>
<p>It&#8217;s also worth looking at the event handler itself, you&#8217;ll notice I haven&#8217;t added an event type, as this Signal is not returning anything we can leave this empty but in the next example you&#8217;ll see how easy it is to return data payloads with the Signal and that the data is strongly typed, making debugging a whole lot easier!</p>
<p>So the BasicObject&#8217;s class currently looks something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package  
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> org.<span style="color: #006600;">osflash</span>.<span style="color: #006600;">signals</span>.<span style="color: #006600;">Signal</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * This BasicObject is just that, it's here to 
	 * simply dispatch a few Signals that we'll listen
	 * for in Main. It's also worth noting that 
	 * BasicObject doesn't need to extend EventDispatcher,
	 * your objects can remain as light as possible.
	 * 
	 * @author Anton Mills
	 * @version 05/09/2010
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> BasicObject 
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// keep the signal public so you attach listeners to it externally</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> basicSignal:Signal;
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * constructor
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> BasicObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// set up the signals</span>
			basicSignal = <span style="color: #000000; font-weight: bold;">new</span> Signal<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Think of this as a method that performs
		 * some sort of functionality. Once the 
		 * functionality is complete we will dispatch
		 * our Signal.
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> basicAction<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// perform some pseudo task...</span>
			<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">100</span>; i++<span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #808080; font-style: italic;">// nothing doing</span>
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #808080; font-style: italic;">// then dispatch</span>
			basicSignal.<span style="color: #006600;">dispatch</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>With a few small changes to our document root class we can demonstrate how easy it is to add or remove Listeners to the Signal. We also have a fantastic removeAll() function to remove all Listeners:</p>
</pre>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package  
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * This is the first of three Signals tutorials.
	 * In this example we will be looking at the basic usage
	 * of a Signal, how it's dispatched and how we work with
	 * the Signal when it's been received by the Listener.
	 * 
	 * @author Anton Mills
	 * @version 05/09/2010
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> Sprite 
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">// an object</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> basicObject:BasicObject;
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * constructor
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// create a BasicObject</span>
			basicObject = <span style="color: #000000; font-weight: bold;">new</span> BasicObject<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// add a listener that will fire repeadly</span>
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #0066CC;">add</span><span style="color: #66cc66;">&#40;</span>basicSignalListener<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// add a listener that will only ever fire once</span>
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #006600;">addOnce</span><span style="color: #66cc66;">&#40;</span>basicSignalListenerOnce<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// test the dispatch functionality</span>
			basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                        basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
                        basicObject.<span style="color: #006600;">basicAction</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// remove a listener</span>
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #006600;">remove</span><span style="color: #66cc66;">&#40;</span>basicSignalListener<span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// remove all listeners</span>
			basicObject.<span style="color: #006600;">basicSignal</span>.<span style="color: #006600;">removeAll</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * a listener for the BasicObjects basicSignal
		 * Signal event that will only be fired once
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> basicSignalListenerOnce<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Main* basicSignal received, firing once&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * a listener for the BasicObjects basicSignal
		 * Signal events
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> basicSignalListener<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Main* basicSignal received&quot;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>To summarise up to this point, we simply add a Signal for the event we want to dispatch, add listeners to the Signal object (in our case basicView.basicSignal) externally which catch the dispatched Signal. There's no constants for Event names, there's no imports, just listen and dispatch. Great stuff!</p>
<p>In the next post I'm going to be building on this example with transmitting data payloads with Signals.</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=361</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sparrow iOS Game Framework</title>
		<link>http://www.antonmills.com/?p=342</link>
		<comments>http://www.antonmills.com/?p=342#comments</comments>
		<pubDate>Wed, 25 Aug 2010 17:17:59 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=342</guid>
		<description><![CDATA[Say Hello to Sparrow! It&#8217;s a pure Objective-C iOS game framework. It&#8217;s built upon OpenGL for it&#8217;s rendering and OpenAL for the sound processing so it&#8217;s very fast rendering and has very rich multimedia support. The aspect that attracted me was it has been styled on ActionScript 3! I&#8217;ve been using it over the last [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sparrow-framework.org/"><img src="http://www.antonmills.com/wp-content/uploads/2010/08/SparrowIOSFrameworkLogo-300x90.jpg" alt="Sparrow iOS Framework Logo" title="Sparrow iOS Framework Logo" width="300" height="90" class="alignnone size-medium wp-image-353" /></a><br />
<br />
Say Hello to Sparrow!</p>
<p>It&#8217;s a pure Objective-C iOS game framework. It&#8217;s built upon OpenGL for it&#8217;s rendering and OpenAL for the sound processing so it&#8217;s very fast rendering and has very rich multimedia support. The aspect that attracted me was it has been styled on ActionScript 3! I&#8217;ve been using it over the last two weeks and well&#8230;. I&#8217;m sold!</p>
<p><span id="more-342"></span></p>
<p>I&#8217;ve never cared much for Cocos2D. I&#8217;m not denying it&#8217;s a great framework and it&#8217;s proven itself with hundreds of games. Out of the box Cocos2D iPhone even packs many more features such as physics support with Box2D and Chipmunk, a Tile Engine and even a Particle Designer, there&#8217;s a whole lot of work gone in to Cocos2D. For me using Cocos2D always felt awkward, I didn&#8217;t like the naming conventions used, things didn&#8217;t always seem logical, it&#8217;s hard to put my finger on it but I never enjoyed using it and I ended up not diving headlong in to iPhone game development. Then I stumbled (not literaly&#8230;) upon Sparrow framework and while being a little reluctant at first I began building some simple tests for game mechanics and I love it! The syntax is what I expect, it reminds me of Flash / ActionScript 3. For example take a look at this example of an image:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// init of Class</span>
-<span style="color: #66cc66;">&#40;</span>id<span style="color: #66cc66;">&#41;</span>init
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>self = <span style="color: #66cc66;">&#91;</span><span style="color: #0066CC;">super</span> init<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
     <span style="color: #66cc66;">&#123;</span>
          <span style="color: #808080; font-style: italic;">// add a Background image to the splash scree</span>
          SPImage <span style="color: #66cc66;">*</span>bg = <span style="color: #66cc66;">&#91;</span>SPImage imageWithContentsOfFile:<span style="color: #66cc66;">@</span><span style="color: #ff0000;">&quot;Splash.png&quot;</span><span style="color: #66cc66;">&#93;</span>;
          <span style="color: #66cc66;">&#91;</span>self.<span style="color: #0066CC;">stage</span> addChild:bg<span style="color: #66cc66;">&#93;</span>;
     <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Or how about this tweening example:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">- <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#41;</span>performTween
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #808080; font-style: italic;">// animates the playButton's alpha over 1.5 seconds</span>
     SPTween <span style="color: #66cc66;">*</span>playTween = <span style="color: #66cc66;">&#91;</span>SPTween tweenWithTarget:playButton <span style="color: #0066CC;">time</span>:1.5f transition:SP_TRANSITION_EASE_IN<span style="color: #66cc66;">&#93;</span>;
     playTween.<span style="color: #006600;">delay</span> = 2.5f;
     <span style="color: #66cc66;">&#91;</span>playTween animateProperty:<span style="color: #66cc66;">@</span><span style="color: #ff0000;">&quot;alpha&quot;</span> targetValue:1.0f<span style="color: #66cc66;">&#93;</span>;
     <span style="color: #66cc66;">&#91;</span>self.<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">juggler</span> addObject:playTween<span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Heck Sparrow even has it&#8217;s own EnterFrame to save you the hassle of setting up a CADisplayLink or NSTimers for your game loops:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">- <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#41;</span>someMethod
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #808080; font-style: italic;">// add the EnterFrame event</span>
     <span style="color: #66cc66;">&#91;</span>self addEventListener:<span style="color: #66cc66;">@</span>selector<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">onEnterFrame</span>:<span style="color: #66cc66;">&#41;</span> atObject:self forType:SP_EVENT_TYPE_ENTER_FRAME<span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
- <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#41;</span><span style="color: #0066CC;">onEnterFrame</span>:<span style="color: #66cc66;">&#40;</span>SPEnterFrameEvent <span style="color: #66cc66;">*</span><span style="color: #66cc66;">&#41;</span>event
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #808080; font-style: italic;">// Do something every frame</span>
     NSLog<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">@</span><span style="color: #ff0000;">&quot;Hello Sparrow!&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Sparrow does need some core features though, animated SPImage using Atlas Sprites would be good, I&#8217;m using my own concoction at the moment, it aint pretty! some on screen FPS etc but nothing major. In short, it&#8217;s a great framework, very young and streamlined (which is a GOOD thing!) and you should definitely give it a shot for your next project, if you love ActionScript it&#8217;s a fair bet you&#8217;ll take to Sparrow!</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=342</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.net Magazine Awards 2010!</title>
		<link>http://www.antonmills.com/?p=343</link>
		<comments>http://www.antonmills.com/?p=343#comments</comments>
		<pubDate>Wed, 25 Aug 2010 12:03:14 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[General Chit Chat]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=343</guid>
		<description><![CDATA[I&#8217;m delighted to announce that I&#8217;m one of the .net Magazine judges for the the 2010 awards celebrating the very best in web design and development! The voting is going to be very tough with some fantastic entries such as the Perrier Experience and the Bacardi Talk To The Hand campaigns, viral campaigns such as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antonmills.com/wp-content/uploads/2010/08/ICON_judge_web.png"><img src="http://www.antonmills.com/wp-content/uploads/2010/08/ICON_judge_web.png" alt=".net Magazine Awards 2010" title=".net Magazine Awards 2010" width="120" height="120" class="alignnone size-full wp-image-344" /></a><br />
<br />I&#8217;m delighted to announce that I&#8217;m one of the .net Magazine judges for the the 2010 awards celebrating the very best in web design and development! </p>
<p><span id="more-343"></span></p>
<p>The voting is going to be very tough with some fantastic entries such as the Perrier Experience and the Bacardi Talk To The Hand campaigns, viral campaigns such as the hilarious Old Spice adverts and the UK&#8217;s best agencies going head to head. The awards are split in to 16 distinct categories:</p>
<li>Web App of the year</li>
<li>Community Site of the year</li>
<li>Best API use</li>
<li>Interactive Site of the year</li>
<li>Blog of the year</li>
<li>Podcast of the year</li>
<li>Video Podcast of the year</li>
<li>Design Agency of the year</li>
<li>Innovation of the year</li>
<li>Web Personality of the year</li>
<li>Viral Campaign of the year</li>
<li>Standards Champion</li>
<li>Opensource Application of the year</li>
<li>Redesign of the year</li>
<li>Mobile Site of the year</li>
<li>Mobile App of the year</li>
<p>&#8230;phew!</p>
<p>So get yourself over to the .net Awards 2010 website (<a href="http://www.thenetawards.com/">http://www.thenetawards.com</a>) and have a look at the fantastic entries yourself! </p>
<p>PS excuse my cheesy mug shot in the judges page&#8230;</p>
<p>.anton</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=343</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Training at Cyfle</title>
		<link>http://www.antonmills.com/?p=332</link>
		<comments>http://www.antonmills.com/?p=332#comments</comments>
		<pubDate>Fri, 13 Aug 2010 13:38:13 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[General Chit Chat]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=332</guid>
		<description><![CDATA[I&#8217;ve recently been asked to perform a three day training course for the folks at Cyfle. We covered three subjects in all, Augmented Reality with Flash. HTML and CSS for the second day and then an intensive course on building iPhone, iPad and Android applications using Appcelerator Titanium. It was a great experience and hopefully [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently been asked to perform a three day training course for the folks at <a href="http://www.cyfle.co.uk/">Cyfle</a>. We covered three subjects in all, Augmented Reality with Flash. HTML and CSS for the second day and then an intensive course on building iPhone, iPad and Android applications using <a href="http://www.appcelerator.com/">Appcelerator Titanium</a>. It was a great experience and hopefully something I&#8217;ll follow up before the move to OZ!</p>
<p>Here&#8217;s a quick snap of the group!<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/Cyfle.jpg"><img src="http://www.antonmills.com/wp-content/uploads/2010/08/Cyfle-300x225.jpg" alt="" title="Cyfle Training" width="300" height="225" class="alignnone size-medium wp-image-334" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=332</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exporting Collada files from 3D Studio Max to Papervision 3D</title>
		<link>http://www.antonmills.com/?p=288</link>
		<comments>http://www.antonmills.com/?p=288#comments</comments>
		<pubDate>Wed, 11 Aug 2010 11:49:08 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[Papervision]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=288</guid>
		<description><![CDATA[I&#8217;ve just completed some work with Augmented Reality and Flash and had the need to export a Collada 3D model from 3D Studio Max 2009 and import it to Papervision. What I found is that the default 3D Studio plugin that exports Collada files seems to export the files differently from what Papervision expects. So [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just completed some work with Augmented Reality and Flash and had the need to export a Collada 3D model from 3D Studio Max 2009 and import it to Papervision. What I found is that the default 3D Studio plugin that exports Collada files seems to export the files differently from what Papervision expects. So here&#8217;s a quick guide to hopefully help anyone having any problems with this and show you how o export Collada files from 3D Studio Max in to a format Papervision expects.</p>
<p><a href="http://www.antonmills.com/wp-content/uploads/2010/08/final3Dtruck.jpg"><img src="http://www.antonmills.com/wp-content/uploads/2010/08/final3Dtruck.jpg" alt="OpenCOLLADA Truck in Flash" title="OpenCOLLADA Truck" width="300" height="243" class="alignnone size-full wp-image-310" /></a><br />
<br />
<span id="more-288"></span></p>
<p>
<strong>1.</strong> Grab yourself the 3D Studio Max version of the <a href="http://www.opencollada.org">OpenCOLLADA</a> plugin, you can find it in their download pages. Note that it comes in 32bit and x64 flavours.<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/download_OpenCollada.jpg"><img class="alignnone size-medium wp-image-289" title="download OpenCollada" src="http://www.antonmills.com/wp-content/uploads/2010/08/download_OpenCollada-300x65.jpg" alt="download OpenCollada" width="300" height="65" /></a></p>
<p><strong>2.</strong> Once it&#8217;s downloaded, go ahead and install it the same way you would normally install software in Windows.</p>
<p><strong>3.</strong> Once installed, boot up 3D Studio Max and create your 3D Model.<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/3dmodel_build.jpg"><img class="alignnone size-medium wp-image-290" title="3d model build" src="http://www.antonmills.com/wp-content/uploads/2010/08/3dmodel_build-300x169.jpg" alt="3d model build" width="300" height="169" /></a></p>
<p><strong>4.</strong> Once you have it completed, choose File &gt; Export Selected.<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/truckselected.jpg"><img class="alignnone size-full wp-image-296" title="Truck Selected" src="http://www.antonmills.com/wp-content/uploads/2010/08/truckselected.jpg" alt="Truck Selected" width="300" height="193" /></a></p>
<p><strong>5.</strong> The Export Window will appear, give it a filename and make sure to choose the new OpenCOLLADA filetype, press Save!<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/savebox.jpg"><img class="alignnone size-medium wp-image-305" title="Save Window" src="http://www.antonmills.com/wp-content/uploads/2010/08/savebox-300x133.jpg" alt="The 3D Studio Max Save Window" width="300" height="133" /></a></p>
<p><strong>6.</strong> In this new Window that appears, make sure Triangulate, Copy Images and Use Relative Paths are all checked and press Export.<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/Check-These.jpg"><img class="alignnone size-medium wp-image-298" title="Check These" src="http://www.antonmills.com/wp-content/uploads/2010/08/Check-These-300x203.jpg" alt="Check these settings in the OpenCOLLADA settings window" width="300" height="203" /></a></p>
<p><strong>7.</strong> Now your file has been exported, you will have the .dae OpenCOLLADA file and an images folder, hop over to your Papervision setup, drop these in to your project structure and use the following code (assuming your using a basicView) to get your Collada 3D Model up and running.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #0066CC;">extends</span> <span style="color: #0066CC;">MovieClip</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #808080; font-style: italic;">// globals</span>
	protected <span style="color: #000000; font-weight: bold;">var</span> colladaModel:Collada;
	protected <span style="color: #000000; font-weight: bold;">var</span> basicView:BasicView;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * constructor
	 */</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		basicView = <span style="color: #000000; font-weight: bold;">new</span> BasicView<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">550</span>, <span style="color: #cc66cc;">400</span>, <span style="color: #000000; font-weight: bold;">true</span>, <span style="color: #000000; font-weight: bold;">false</span>, CameraType.<span style="color: #0066CC;">TARGET</span><span style="color: #66cc66;">&#41;</span>;
		basicView.<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">y</span> += <span style="color: #cc66cc;">150</span>;
		basicView.<span style="color: #0066CC;">camera</span>.<span style="color: #006600;">z</span> = <span style="color: #cc66cc;">220</span>;
		<span style="color: #0066CC;">stage</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>basicView<span style="color: #66cc66;">&#41;</span>;
&nbsp;
		initColladaModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * method loads the truck.dae COLLADA file.
	 */</span>
	protected <span style="color: #000000; font-weight: bold;">function</span> initColladaModel<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
	<span style="color: #66cc66;">&#123;</span>
		colladaModel = <span style="color: #000000; font-weight: bold;">new</span> Collada<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;assets/truck.DAE&quot;</span>, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #cc66cc;">0.01</span>, <span style="color: #000000; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>;
		basicView.<span style="color: #006600;">scene</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span>colladaModel<span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Should give you something like this:<br />
<a href="http://www.antonmills.com/wp-content/uploads/2010/08/final3Dtruck.jpg"><img src="http://www.antonmills.com/wp-content/uploads/2010/08/final3Dtruck.jpg" alt="OpenCOLLADA Truck in Flash" title="OpenCOLLADA Truck" width="300" height="243" class="alignnone size-full wp-image-310" /></a></p>
<p>If needed I have put together a sample project with the 3D Model, all textures and a sample Flash Papervision project (using BasicView) you can use to test everything with, it can be downloaded from <a href="http://www.antonmills.com/resources/tutorials/OpenCOLLADA/opencolladaexample.zip">here</a>.</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=288</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Australia, yes please!</title>
		<link>http://www.antonmills.com/?p=284</link>
		<comments>http://www.antonmills.com/?p=284#comments</comments>
		<pubDate>Sat, 31 Jul 2010 11:53:14 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[General Chit Chat]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=284</guid>
		<description><![CDATA[Yes, Australia! Some of you may already know the news but I have been a casualty of the financial crunch (boo!) and unfortunately made redundant from my post at the lovely Cube Interactive. That&#8217;s about it for the bad news, it&#8217;s a bit of a shame but it has given my partner Jen and I [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Australia!" src="http://www.antonmills.com/resources/images/oz.jpg" title="Australia!" class="alignnone" width="462" height="124" /><br />
Yes, Australia!</p>
<p>Some of you may already know the news but I have been a casualty of the financial crunch (boo!) and unfortunately made redundant from my post at the lovely <a href="http://www.cubeinteractive.co.uk">Cube Interactive</a>. </p>
<p>That&#8217;s about it for the bad news, it&#8217;s a bit of a shame but it has given my partner Jen and I a lot to think about; our future, what we want to achieve with our lives and ultimitely what is right for us. For a long time we&#8217;ve been throwing the idea of emigrating to Australia around and we&#8217;ve finally the perfect opportunity! Having attended the two day Australian Expo put on by <a href="http://www.workingin.com/">WorkingIn</a> in Hammersmith on the 17th and 18th July, we then purchased all of our eligibility tests and Journey To Work services to make sure it&#8217;s as smooth a transition as possible. We&#8217;ve finally had the results back and we&#8217;re totally eligible and we&#8217;re in the process of setting up the permanent residency Visa (subclass 175) which can take up to 3 years. </p>
<p>So while that is slowly ticking away I&#8217;m searching for a digital agency in Australia (preferably Sydney or Melbourne) that are either actively searching for a Interactive Developer (Flash/AS3/AS2, iPhone/Android) or if you think I could fit in to a team your building, definitely drop me an email at hello-at-antonmills-dot-com and we can have a chat about the possibilities as I can be onshore and working within 6-8 weeks. I can&#8217;t wait!</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=284</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Computer Arts Magazine &#8211; iPad Development</title>
		<link>http://www.antonmills.com/?p=280</link>
		<comments>http://www.antonmills.com/?p=280#comments</comments>
		<pubDate>Sat, 31 Jul 2010 09:49:25 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[General Chit Chat]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=280</guid>
		<description><![CDATA[Quick update, I&#8217;ve just completed a new iPad development tutorial on behalf of Computer Arts Magazine! Recently I&#8217;ve been using the fantastic Appcelerator Titanium (http://www.appcelerator.com/) to create some of my mobile applications. While Titanium isn&#8217;t really aimed at gaming per se it&#8217;s more than capable of moving objects around the screen and offering alert dialog [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.antonmills.com/resources/images/netCA6.jpg"><img alt="Computer Arts Magazine iPad Tutorial" src="http://www.antonmills.com/resources/images/netCA6thumb.jpg" title="Computer Arts Magazine iPad Tutorial" class="alignnone" width="200" height="150" /></a></p>
<p>Quick update, I&#8217;ve just completed a new iPad development tutorial on behalf of <a href="http://www.computerarts.co.uk">Computer Arts Magazine</a>!<br />
Recently I&#8217;ve been using the fantastic Appcelerator Titanium (<a href="http://www.appcelerator.com/">http://www.appcelerator.com/</a>) to create some of my mobile applications. While Titanium isn&#8217;t really aimed at gaming per se it&#8217;s more than capable of moving objects around the screen and offering alert dialog boxes etc so I put together a small three page introduction to the tool and how to develop a simple drag and drop based game for the iPad. The beauty of Titanium is that your able to port your applications to the different platforms (Android, Desktop and Blackberry (soon!)) with a few clicks if your not using any specific platforms API so you could take this tutorial and port it to Android in a few minutes! Great Stuff.</p>
<p>Also I&#8217;ve just found a link to the Flickr and Flash/ActionScript 3 tutorial I did for them a few months ago <a href="http://www.computerarts.co.uk/tutorials/new_media/making_connections_with_flash_and_flickr">here</a> might be worth a butchers if your new to using API&#8217;s.</p>
<p>anton.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=280</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweenLite &lt; Tweening Platform v11</title>
		<link>http://www.antonmills.com/?p=257</link>
		<comments>http://www.antonmills.com/?p=257#comments</comments>
		<pubDate>Mon, 09 Nov 2009 16:25:42 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[as3]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=257</guid>
		<description><![CDATA[Just been implementing TweenLite in to a current project here at Cube (more at a later date) and updated our source files to find TweenLite has been superseded by the fantastic Teening Platform v11 engine, the GreenSock stuff just gets better and better! if your in need of a small and extremely fast tweening engine [...]]]></description>
			<content:encoded><![CDATA[<p>Just been implementing TweenLite in to a current project here at Cube (more at a later date) and updated our source files to find TweenLite has been superseded by the fantastic Teening Platform v11 engine, the GreenSock stuff just gets better and better! if your in need of a small and extremely fast tweening engine you should deffinitely check out <a href="http://blog.greensock.com/" target="_blank">http://blog.greensock.com/</a> it&#8217;s packed full of features!</p>
<p>The particular part I like is the queueing system using TimelineLite, it&#8217;s so simple to get up and running but has a wealth of features to create incredibly complex queues of tweens (for more info check: <a href="http://blog.greensock.com/timelinelite" target="_blank">http://blog.greensock.com/timelinelite</a>):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// create a tween queue</span>
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> tweenQueue:TimelineLite = <span style="color: #000000; font-weight: bold;">new</span> TimelineLite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span>onComplete:queueComplete<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> queueComplete<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;queue complete&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">// populate it with tweens</span>
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = <span style="color: #cc66cc;">0</span>; i <span style="color: #66cc66;">&lt;</span> <span style="color: #cc66cc;">10</span>; i++<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    tweenQueue.<span style="color: #006600;">append</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> TweenLite<span style="color: #66cc66;">&#40;</span>desiredMC, <span style="color: #cc66cc;">1</span>, <span style="color: #66cc66;">&#123;</span>x:i<span style="color: #66cc66;">*</span><span style="color: #cc66cc;">50</span>, y:<span style="color: #cc66cc;">100</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=257</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And more Lecturing</title>
		<link>http://www.antonmills.com/?p=255</link>
		<comments>http://www.antonmills.com/?p=255#comments</comments>
		<pubDate>Fri, 25 Sep 2009 13:20:43 +0000</pubDate>
		<dc:creator>anton.</dc:creator>
				<category><![CDATA[General Chit Chat]]></category>

		<guid isPermaLink="false">http://www.antonmills.com/?p=255</guid>
		<description><![CDATA[Another quick update. I&#8217;m also due to begin lecturing in Swansea Metropolitan University on the MSc Multimedia course beginning next week. Still planning some bit&#8217;s and pieces but be sure there will be lot&#8217;s of AS3, php/mySql integration, Air and hopefully a handful of 3D to break things up&#8230;. Great Stuff! anton.]]></description>
			<content:encoded><![CDATA[<p>Another quick update. I&#8217;m also due to begin lecturing in Swansea Metropolitan University on the MSc Multimedia course beginning next week. Still planning some bit&#8217;s and pieces but be sure there will be lot&#8217;s of AS3, php/mySql integration, Air and hopefully a handful of 3D to break things up&#8230;. Great Stuff!</p>
<p>anton. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.antonmills.com/?feed=rss2&amp;p=255</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
