<?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>Tweenpix &#187; actionscript</title>
	<atom:link href="http://blog.tweenpix.net/tag/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tweenpix.net</link>
	<description>Behind the mask</description>
	<lastBuildDate>Wed, 02 Mar 2011 22:54:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>PixServer &#8211; AMF game server</title>
		<link>http://blog.tweenpix.net/2009/07/22/pixserver-amf-game-server/</link>
		<comments>http://blog.tweenpix.net/2009/07/22/pixserver-amf-game-server/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 16:57:16 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[amf]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[multi-users]]></category>
		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1777</guid>
		<description><![CDATA[I&#8217;m back to the scene&#8230; with an empty hard drive. That&#8217;s THE bad news, I lost all my data one month ago. Around 10 years of storage without any backup. That really sucks. The good one is that it gives to me lot of punch to start from scratch 4 new projects. They&#8217;re all linked [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m back to the scene&#8230; with an empty hard drive.<br />
That&#8217;s THE bad news, I lost all my data one month ago. Around 10 years of storage without any backup. That really sucks.<br />
The good one is that it gives to me lot of punch to start from scratch 4 new projects. They&#8217;re all linked together, but I&#8217;ll give you details later about the connection.</p>
<p>So let me introduce the first one.<br />
I needed a multi-users game server. So after some googling to browse OS projects, I decided to build a new one from scratch with <a href="http://mina.apache.org/">Apache Mina 2.0</a> using my R&#038;D xp.<br />
I choosed to install Ubuntu with Parallels to have an easy workflow with a local test workstation.</p>
<p>At this time, I&#8217;ve obtained something basic which works fine. That&#8217;s full AMF (using <a href="http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/">BlazeDS</a> ) and it manages users and rooms.<br />
That&#8217;s all based on simplicity. No events, no verbosed implementation or mess with abstract design&#8230;</p>
<p>My next step and goals:<br />
- Have something robust.<br />
- Build a graphical chat showcase with text to speech feature.<br />
- Build a game showcase with realtime synchronicity. I read a lot of resources about it, and I&#8217;m looking forward to work on this.</p>
<p>But I&#8217;m wondering about few things at this time:<br />
- Should I go to open source ?<br />
- Should I mix this implementation with <a href="http://projectdarkstar.com/">Darkstar project</a> ?<br />
- Should I work on a cheap product ?<br />
Any advice would be welcome !</p>
<div class="captionfull"><img src="http://blog.tweenpix.net/wp-content/themes/tma/images/latest/pixserver.jpg" alt="" />
</p>
</div>
<p>Here&#8217;s a basic echo demo to end this thread and showcase the concept:</p>
<pre lang="actionscript3">
import net.tweenpix.pixserver.amf.AMFClient;

	public class EchoAMFClient
	{
		protected var _client : AMFClient;

		public function EchoAMFClient()
		{
			_client = new AMFClient( );
			_client.registerClass( TestVO );
			_client.connect( "10.211.55.4", 9123 );

			_client.addEventListener( "EchoMessage",  onEchoMessage );
			_client.sendRequest( 	"EchoMessage",
								new TestVO( "francis", 38 ),
								new TestVO( "virginie", 35 ) );
		}

		public function onEchoMessage( vo1 : TestVO, vo2 : TestVO ) : void
		{
			// do something
		}
	}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/07/22/pixserver-amf-game-server/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>API SVN en ActionScript</title>
		<link>http://blog.tweenpix.net/2009/02/05/api-svn-en-actionscript/</link>
		<comments>http://blog.tweenpix.net/2009/02/05/api-svn-en-actionscript/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 21:50:03 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1529</guid>
		<description><![CDATA[Après l&#8217;arlésienne de Beau Ambur, Doug McCune a relevé le défi et propose une API SVN pour ActionScript 3.0. Même si le projet est un peu moins ambitieux que celui de Metaliq, qui proposait à l&#8217;époque (avec FlapJacks) un vrai client SVN socket, la librairie de Doug permet déjà via WebDAV un dialogue basique avec [...]]]></description>
			<content:encoded><![CDATA[<p>Après <a href="http://onflash.org/ted/2006/09/svn-client-with-flashnetsocket-in.php">l&#8217;arlésienne de Beau Ambur</a>, Doug McCune a relevé le défi et propose une API SVN pour ActionScript 3.0. Même si le projet est un peu moins ambitieux que celui de <a href="http://www.metaliq.com/">Metaliq</a>, qui proposait à l&#8217;époque (avec FlapJacks) un vrai client SVN socket, la librairie de Doug permet déjà via WebDAV un dialogue basique avec un repository SVN.</p>
<p><a href="http://dougmccune.com/flex/as3svnlib/as3svnlib_source.zip">as3svnlib</a> est une surcouche de <a href="http://code.google.com/p/as3httpclientlib/">as3httpclientlib</a> (client http et https) qui implémente deux méthodes (PROPFIND et REPORT) du protocole WebDAV et permet les opérations de lecture standards.</p>
<p>Le code source est disponible <a href="http://dougmccune.com/flex/as3svnlib/as3svnlib_source.zip">ici</a> et le SWC compilé <a href="http://dougmccune.com/flex/as3svnlib/as3svnlib.swc">ici</a>.</p>
<p>J&#8217;imagine déjà le développement d&#8217;une librairie complète (commits, branching, diffs&#8230;) interfacée avec un puissant outil collaboratif en AIR&#8230; Un joli projet commercial en perspective, non ? A bon entendeur !</p>
<p>Via <a href="http://dougmccune.com/blog/2009/01/20/accessing-svn-repositories-with-actionscript/">dougmccune</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/02/05/api-svn-en-actionscript/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Alchemy, juste un outil de portage pour l&#039;AVM2</title>
		<link>http://blog.tweenpix.net/2009/01/26/alchemy-juste-un-outil-de-portage-pour-lavm2/</link>
		<comments>http://blog.tweenpix.net/2009/01/26/alchemy-juste-un-outil-de-portage-pour-lavm2/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 08:31:50 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[double-buffering]]></category>
		<category><![CDATA[gluegen]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1522</guid>
		<description><![CDATA[Mateusz Małczak démontre une fois de plus qu&#8217;Alchemy n&#8217;est pas la panacée du portage de librairies C/C++ en bytecode optimisé pour l&#8217;AVM2. Il a porté SFFE (un parseur de formules mathématiques pour sa librairie sfXaoS) en reprenant mes expérimentations sur le double-buffering avec Alchemy pour l&#8217;affichage. Une fois de plus, les résultats ne sont pas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://malczak.info/">Mateusz Małczak</a> démontre  une fois de plus qu&#8217;Alchemy n&#8217;est pas la panacée du portage de librairies C/C++ en bytecode optimisé pour l&#8217;AVM2. Il a porté SFFE (un parseur de formules mathématiques pour sa librairie <a href="http://segfaultlabs.com/sfXaoS">sfXaoS</a>) en reprenant <a href="http://blog.tweenpix.net/2008/12/04/full-double-buffering-alchemist/">mes expérimentations sur le double-buffering avec Alchemy</a> pour l&#8217;affichage. Une fois de plus, les résultats ne sont pas convaincants en termes de performances. Ils confirment l&#8217;intuition que j&#8217;avais eu à l&#8217;époque: Quand <a href="http://llvm.org/devmtg/2008-08/Petersen_FlashCCompiler.pdf">les 12 nouveaux opcodes du Flash Player 10</a> seront prise en charge par le compilateur du Flex SDK, Alchemy ne sera plus qu&#8217;un simple outil de portage pour l&#8217;AVM2, ni plus ni moins.</p>
<p>Si vous vous passionnez pour Alchemy, voici <a href="http://segfaultlabs.com/blog">un blog à bookmarker</a>. Mateusz proposera bientôt un tutorial sur GlueGen, générateur de code ActionScript à partir d&#8217;un wrapper C/C++, malheureusement encore non documenté sur le labs.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/26/alchemy-juste-un-outil-de-portage-pour-lavm2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>la doc ActionScript 3 sur ton iPhone &#8211; Un cadeau de Mr Manatane ou presque&#8230;</title>
		<link>http://blog.tweenpix.net/2009/01/25/la-doc-actionscript-3-sur-ton-iphone/</link>
		<comments>http://blog.tweenpix.net/2009/01/25/la-doc-actionscript-3-sur-ton-iphone/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 01:28:15 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[AppStore]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mike chambers]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1512</guid>
		<description><![CDATA[Vous rentrez de soirée, de celle qu&#8217;on arrose ? Saturday night fever ? Mal de crâne étourdissant, nausées, jambes qui vacillent, œil hagard avec pour seule consolation un sac de croissants tièdes qui transpirent. Mais Mr Manatane veille et vous propose en cette fraîche matinée d&#8217;hiver de quoi éponger vos maux de fêtard endurci avant [...]]]></description>
			<content:encoded><![CDATA[<p>Vous rentrez de soirée, de celle qu&#8217;on arrose ? Saturday night fever ? Mal de crâne étourdissant, nausées, jambes qui vacillent, œil hagard avec pour seule consolation un sac de croissants tièdes qui transpirent. Mais Mr Manatane veille et vous propose en cette fraîche matinée d&#8217;hiver de quoi éponger vos maux de fêtard endurci avant de gagner la couche tant convoitée.</p>
<p><a href="http://www.mikechambers.com/blog/">Mike Chambers</a> vient de publier sur l&#8217;appStore une application pur geek: <a href="http://www.mikechambers.com/as3iphone/">ActionScript 3 API Reference for iPhone</a>.<br />
Toute la documentation des classes Adobe AIR 1.5, Adobe Flex 3.2 et Flash Player 10 compilée spécialement pour votre iPhone.<br />
Bonne nouvelle, le poids du contenu a été optimisé pour le smartphone. L&#8217;application fait seulement 10 mégas contre 40 pour <a href="http://labs.bigspaceship.com/2008/12/09/air-app-as3-language-reference/">l&#8217;AS3 Language Reference en AIR de Big Spaceship</a>.</p>
<p>Sont disponibles pour les recherches un filtre de saisie et un scroller alphabétique. Aucun vrai moteur lexical à l&#8217;horizon pour l&#8217;instant !</p>
<div class="captionfull"><img src="http://blog.tweenpix.net/wp-content/gallery/general/as3dociphone.jpg" alt="" />
</p>
</div>
<p>Vous trouverez plus d&#8217;infos sur <a href="http://www.mikechambers.com/as3iphone/">cette page</a>.<br />
Ceux qui sont pressés peuvent se rendre directement sur <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302952929&#038;mt=8">iTunes</a>.</p>
<p>Merci Mike, voilà de quoi devenir incollable, &#8230; même sous la douche !</p>
<p>Via <a href="http://twitter.com/mesh/status/1145640982">twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/25/la-doc-actionscript-3-sur-ton-iphone/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>les voeux de saqoosha en open source</title>
		<link>http://blog.tweenpix.net/2009/01/23/les-voeux-de-saqoosha-en-open-source/</link>
		<comments>http://blog.tweenpix.net/2009/01/23/les-voeux-de-saqoosha-en-open-source/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:48:17 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[fun]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[ARToolkit]]></category>
		<category><![CDATA[FLARToolkit]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[réalité augmentée]]></category>
		<category><![CDATA[Saqoosha]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1477</guid>
		<description><![CDATA[Quand aid-dcc et katamari vous souhaitent leurs meilleurs voeux en réalité augmentée, cela donne ceci. Et dire que j&#8217;étais passé à côté de cette nouvelle prouesse de Saqoosha, l&#8217;auteur émérite de FLARToolkit, le portage d&#8217;ARToolkit en ActionScript 3.0. La bonne nouvelle, c&#8217;est que le code source complet de cette démo (avec toutes ses dépendances) est [...]]]></description>
			<content:encoded><![CDATA[<p>Quand <a href="https://www.aid-dcc.com/">aid-dcc</a> et <a href="http://katamari.co.jp/">katamari</a> vous souhaitent leurs meilleurs voeux en réalité augmentée, cela donne <a href="http://09.aid-dcc.com/">ceci</a>. Et dire que j&#8217;étais passé à côté de cette nouvelle prouesse de <a href="http://saqoosha.net/en/">Saqoosha</a>, l&#8217;auteur émérite de <a href="http://www.libspark.org/browser/as3/FLARToolKit/trunk">FLARToolkit</a>, le portage d&#8217;<a href="http://www.hitl.washington.edu/artoolkit/">ARToolkit</a> en ActionScript 3.0.</p>
<p>La bonne nouvelle, c&#8217;est que le code source complet de cette démo (avec toutes ses dépendances) est disponible <a href="http://09.aid-dcc.com/aid-nenga2009-source.zip">ici</a>.</p>
<p>Pour finir, voici la démo vidéo qui m&#8217;a bluffé et donné envie une fois de plus de tester cette librarie:</p>
<p><object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2734815&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=2734815&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object><br /><a href="http://vimeo.com/">AR New Year Greeting Card</a> from <a href="http://vimeo.com/saqoosha">Saqoosha</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/23/les-voeux-de-saqoosha-en-open-source/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>librairie XMP sur Adobe Labs</title>
		<link>http://blog.tweenpix.net/2009/01/18/librairie-xmp-sur-adobe-labs/</link>
		<comments>http://blog.tweenpix.net/2009/01/18/librairie-xmp-sur-adobe-labs/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 10:18:20 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[cs4]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[xmp]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1303</guid>
		<description><![CDATA[Adobe vient de publier sur le labs un portage de sa librarie XMP pour ActionScript 3.0. XMP (Adobe&#8217;s Extensible Metadata Platform) c&#8217;est le standard qui permet de lire et d&#8217;écrire des metadatas (titres, descriptions, mots clés, copyrights&#8230;) dans les fichiers de sauvegarde pour obtenir un workflow plus collaboratif entre les différents outils de la suite [...]]]></description>
			<content:encoded><![CDATA[<p>Adobe vient de publier sur le labs un portage de sa <a href="http://labs.adobe.com/technologies/xmplibrary/">librarie XMP pour ActionScript 3.0</a>.<br />
<a href="http://www.adobe.com/products/xmp/">XMP</a> (Adobe&#8217;s Extensible Metadata Platform) c&#8217;est le standard qui permet de lire et d&#8217;écrire des metadatas (titres, descriptions, mots clés, copyrights&#8230;) dans les fichiers de sauvegarde pour obtenir un workflow plus collaboratif entre les différents outils de <a href="http://www.adobe.com/products/xmp/related.html">la suite logicielle Adobe</a>.</p>
<p>La librairie est découpée en 3 parties:</p>
<p>- Représentation du modèle de données en mémoire:<br />
Il s&#8217;agit d&#8217;un arbre découpés en noeuds de différents types: Properties, structures, arrays, qualifiers&#8230;<br />
L&#8217;API de la librairie s&#8217;assure à chaque instant de la validité des données de l&#8217;arbre afin qu&#8217;elles puissent être sérialisées à la demande. Une exception est lancée dans le cas contraire.</p>
<p>- Parseur (XML, String ou ByteArray) :</p>
<pre lang="actionscript3">
var xmpStr: String = "<x:xmpmeta xmlns:x="adobe:ns:meta/">”
+ data + "</x:xmpmeta>";
var xmp: XMPMeta = new XMPMeta(xmpStr);
</pre>
<p>- Sérialiseur (XML, String ou ByteArray):</p>
<pre lang="actionscript3">
var xmp:XMPMeta = new XMPMeta(...);
// ... modify metadata
var str:String = xmp.serialize();
var buffer:ByteBuffer = xmp.serializeToBuffer();
</pre>
<p>On devrait bientôt voir éclore des applications AIR capables de lire (et de réinjecter ?) le metadata d&#8217;un fichier CS4.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/18/librairie-xmp-sur-adobe-labs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook &#8211; Flash Client Library</title>
		<link>http://blog.tweenpix.net/2009/01/11/facebook-flash-client-library/</link>
		<comments>http://blog.tweenpix.net/2009/01/11/facebook-flash-client-library/#comments</comments>
		<pubDate>Sun, 11 Jan 2009 21:42:17 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[library]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=1107</guid>
		<description><![CDATA[Today, I spent few hours to play with Facebook Javascript client library. While I was playing with it, I started to build a little library to fit my needs for a game project. I built something compact, there&#8217;s only 2 classes at the moment (client class and its event class). Sobriety ! It uses a [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I spent few hours to play with Facebook Javascript client library. While I was playing with it, I started to build a little library to fit my needs for a game project.<br />
I built something compact, there&#8217;s only 2 classes at the moment (client class and its event class). Sobriety !<br />
It uses a JavaScript proxy like <a href="http://blog.tweenpix.net/2009/01/09/facebook-et-la-plateforme-flash/">FaceBookBridge library from ZeroFractal</a>, but the approach is a bit different. That&#8217;s a matter a lot of design and code perspective. I wanted simplicity and visibility, like remoting API.<br />
Let me show you !</p>
<div class="captionfull"><img src="http://blog.tweenpix.net/wp-content/themes/tma/images/latest/fbflashclientlib.jpg" alt="" />
</p>
</div>
<p>You have to make direct method calls on the client (as you would with JavaScript library). It returns a responder instance on each call:</p>
<pre lang="actionscript3">
var responder : EventDispatcher = client.Friends.get() as EventDispatcher;
</pre>
<p>To get some request results, you can suscribe listeners (as many as you want) to any responder:</p>
<pre lang="actionscript3">
responder.addEventListener(FacebookClientEvent.ON_RESULT, onFriends);
responder.addEventListener(FacebookClientEvent.ON_FAULT, onError);
</pre>
<p>And guess what, results are encapsulated in events passed as arguments to your callback methods:</p>
<pre lang="actionscript3">
public function onFriends( e : FacebookClientEvent ) : void
{
	trace ( e.methodName + " call: " + e.result.length );
}
</pre>
<p>Clean and easy as I like it.<br />
Last but not least, you got some errors reporting. I had hard time on this part, coz the JS implementation was acting weird. I&#8217;m not even sure at this time to have understood the whole error process. I must finalize this part, few errors aren&#8217;t caught at this time but every transaction is logged in firebug with Debug.dump JS calls.</p>
<pre lang="actionscript3">
public function onError( e : FacebookClientEvent = null ) : void
{
	trace ( "onGetInfoError(" + "method:" + e.methodName
				+ ", error_code:" + e.result.error_code
				+ ", error_msg:" + e.result.error_msg + ")" );
}
</pre>
<p>Here&#8217;s a short demo to end the teasing around this project.<br />
In this example, client retrieves all the name and profile photos urls of a user friends list through 2 API calls.</p>
<pre lang="actionscript3">
package
{
	import com.bourre.facebookflashapi.FacebookClient;
	import com.bourre.facebookflashapi.FacebookClientEvent;

	import flash.display.Sprite;
	import flash.events.EventDispatcher;

	public class FacebookClientTest
		extends Sprite
	{
		protected var client : FacebookClient;

		public function FacebookClientTest()
		{
			client = new FacebookClient();

			var responder : EventDispatcher = (client.Friends.get() as EventDispatcher);
			responder.addEventListener(FacebookClientEvent.ON_RESULT, onFriends);
			responder.addEventListener(FacebookClientEvent.ON_FAULT, onError);
		}

		public function onError( e : FacebookClientEvent = null ) : void
		{
			trace ( "onGetInfoError(" + "method:" + e.methodName
						+ ", error_code:" + e.result.error_code
						+ ", error_msg:" + e.result.error_msg + ")" );
		}

		public function onFriends( e : FacebookClientEvent ) : void
		{
			trace ( e.methodName + " call" );

			( client.users.getInfo( {uids:e.result, fields:["name", "pic_big"]} )
			as EventDispatcher).addEventListener(FacebookClientEvent.ON_RESULT, onGetInfo);
		}

		public function onGetInfo( e : FacebookClientEvent ) : void
		{
			for each ( var o : Object in e.result )
				trace ( "Nom:" + o.name + ", Image:" + o.pic_big );
		}
	}
}
</pre>
<p>I will release the source code under an open source licence when it&#8217;ll be a bit more polished for people who want to try it, and maybe I&#8217;ll make a video tutorial, who knows !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/11/facebook-flash-client-library/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Twitter ouvert ?</title>
		<link>http://blog.tweenpix.net/2009/01/06/twitter-ouvert/</link>
		<comments>http://blog.tweenpix.net/2009/01/06/twitter-ouvert/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 18:23:29 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[http request headers]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=913</guid>
		<description><![CDATA[Pendant que tout le monde buzze sur la macworld keynote 2009, je me suis arraché les cheveux à tenter d&#8217;implémenter une partie de l&#8217;API rest de Twitter en ActionScript 3.0. Aucune méthode authentifiée ne passait et j&#8217;avais juste en retour un joli message d&#8217;erreur peu explicite: Error #2044: ioError non pris en charge : text=Error [...]]]></description>
			<content:encoded><![CDATA[<p>Pendant que tout le monde buzze sur <a href="http://www.crunchgear.com/2009/01/06/live-phil-schillers-macworld-2009-keynote/">la macworld keynote 2009</a>, je me suis arraché les cheveux à tenter d&#8217;implémenter une partie de <a href="http://apiwiki.twitter.com/REST+API+Documentation">l&#8217;API rest de Twitter</a> en ActionScript 3.0.<br />
Aucune méthode authentifiée ne passait et j&#8217;avais juste en retour un joli message d&#8217;erreur peu explicite:<br />
<em>Error #2044: ioError non pris en charge : text=Error #2031: Erreur de socket. URL: localhost</em></p>
<p>Avec l&#8217;aide de <a href="http://www.charlesproxy.com/">Charles</a> qui m&#8217;indiquait l&#8217;absence de mes headers (<em>Authorization-Basic</em>), et une bonne dose de patience, j&#8217;ai fini par comprendre que cela venait d&#8217;une limitation du <a href="http://twitter.com/crossdomain.xml">crossdomain</a> qui interdisait les http request headers venant de l&#8217;extérieur du domaine.</p>
<div class="captionfull"><img src="http://blog.tweenpix.net/wp-content/gallery/general/twitterlocked.jpg" alt="" />
<p>Etonnant pour un service web 2.0 dit ouvert ?</p>
</div>
<p>Le seul workaround que j&#8217;ai trouvé pour l&#8217;instant, c&#8217;est de builder une appli AIR pour bypasser ces limitations.<br />
Il reste une dernière possibilité (non testée), déployer un proxy server-side pour acheminer les requêtes. Mais bon, c&#8217;est pas la panacée pour du développement applicatif.</p>
<p>Au final, je suis un peu déçu, non seulement par les contraintes de l&#8217;API pour les développeurs Flash, mais aussi par l&#8217;absence de documentation sur le sujet !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/06/twitter-ouvert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweensy, toujours plus vite !</title>
		<link>http://blog.tweenpix.net/2009/01/05/tweensy-toujours-plus-vite/</link>
		<comments>http://blog.tweenpix.net/2009/01/05/tweensy-toujours-plus-vite/#comments</comments>
		<pubDate>Mon, 05 Jan 2009 14:39:23 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweensy]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=901</guid>
		<description><![CDATA[Ce billet pour signaler la release en beta publique de Tweensy, une nouvelle librairie d&#8217;animation qui compte bien tenir la dragée haute à Tweener, TweenLite, GTween et consorts. Comme la librairie de GreenSock, cette librairie est déclinée en 2 versions. D&#8217;un côté la version complète, de l&#8217;autre la version light pour les projets à haute [...]]]></description>
			<content:encoded><![CDATA[<p>Ce billet pour signaler la release en beta publique de <a href="http://code.google.com/p/tweensy/wiki/GettingStarted">Tweensy</a>, une nouvelle librairie d&#8217;animation qui compte bien tenir la dragée haute à <a href="http://code.google.com/p/tweener/">Tweener</a>, <a href="http://blog.greensock.com/tweenliteas3/">TweenLite</a>, <a href="http://www.gskinner.com/libraries/gtween/">GTween</a> et consorts.</p>
<p>Comme la librairie de <a href="http://blog.greensock.com">GreenSock</a>, cette librairie est déclinée en 2 versions. D&#8217;un côté la version complète, de l&#8217;autre la version light pour les projets à haute contrainte de poids comme les bannières publicitaires.</p>
<div class="captionleft"><img src="http://blog.tweenpix.net/wp-content/gallery/general/tweensy.jpg" alt="" />
</p>
</div>
<p><a href="http://www.lostinactionscript.com/blog/index.php/category/Work/">Shane McCartney</a> nous vante les prouesses de sa librairie en matière de performances avec <a href="http://www.flashdynamix.com/examples/Tweensy/0.2/SuperRenderTweenTest.html">preuve</a> à l&#8217;appui: <em>&laquo;&nbsp;J&#8217;ai réussi à rendre Tweensy plus rapide que l&#8217;ancien tenant du titre AS3: <a href="http://blog.greensock.com/tweenliteas3/">TweenLite</a>/<a href="http://blog.greensock.com/tweenmaxas3/">TweenMax</a>.</em>&nbsp;&raquo;</p>
<p>Il n&#8217;est pas en reste non plus concernant la puissance de l&#8217;API de son bébé: <em>&laquo;&nbsp;Mais ne pensez pas que Tweensy est juste un moteur de tween efficace de plus, il est aussi conçu pour rivaliser (dépasser à mon humble avis) n&#8217;importe quel moteur de tween AS3 existant. S&#8217;il manque quelque chose, n&#8217;hésitez pas à le demander.&nbsp;&raquo;</em></p>
<p>Concernant cette partie, j&#8217;avoue avoir été assez bluffé par l&#8217;étendue des possibilités disponibles. <a href="http://docs.flashdynamix.com/tweensy/fx/">La documentation</a> et certaines parties du <a href="http://code.google.com/p/tweensy/wiki/MotionGuides">wiki</a> permettent de se faire une idée du potentiel mis en oeuvre.</p>
<p>En résumé, une librairie à tester de toute urgence pour voir ce qu&#8217;elle a  dans le ventre en cas pratique !</p>
<p>Via <a href="http://www.lostinactionscript.com/blog/index.php/2009/01/05/tweensy-goes-public/">lostinactionscript.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/05/tweensy-toujours-plus-vite/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FlashSDL</title>
		<link>http://blog.tweenpix.net/2009/01/04/flashsdl/</link>
		<comments>http://blog.tweenpix.net/2009/01/04/flashsdl/#comments</comments>
		<pubDate>Sat, 03 Jan 2009 22:01:58 +0000</pubDate>
		<dc:creator>Francis Bourre</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[alchemy]]></category>
		<category><![CDATA[flashsdl]]></category>
		<category><![CDATA[sdl]]></category>

		<guid isPermaLink="false">http://blog.tweenpix.net/?p=841</guid>
		<description><![CDATA[Petite brève pour signaler l&#8217;existence d&#8217;un projet qui devrait intéresser tous ceux qui se passionnent pour Alchemy. FlashDSL est un portage de SDL pour ActionScript 3.0 et plus spécifiquement Alchemy. Le son n&#8217;est pas supporté pour l&#8217;instant, l&#8217;affichage assez lent (on s&#8217;en serait douté, souvenez-vous des conclusions de ce billet), mais l&#8217;ensemble est fonctionnel. Merci [...]]]></description>
			<content:encoded><![CDATA[<p>Petite brève pour signaler l&#8217;existence d&#8217;un projet qui devrait intéresser tous ceux qui se passionnent pour <a href="http://labs.adobe.com/technologies/alchemy/">Alchemy</a>.<br />
<a href="http://github.com/emcmanus/flashsdl">FlashDSL</a> est un portage de <a href="http://fr.wikipedia.org/wiki/Simple_DirectMedia_Layer">SDL</a> pour ActionScript 3.0 et plus spécifiquement Alchemy. Le son n&#8217;est pas supporté pour l&#8217;instant, l&#8217;affichage assez lent (on s&#8217;en serait douté, souvenez-vous des conclusions de <a href="http://blog.tweenpix.net/2008/12/04/full-double-buffering-alchemist/">ce billet</a>), mais l&#8217;ensemble est fonctionnel.</p>
<p>Merci à Ed Mc Manus pour ce joli travail !<br />
Dommage que Scott Petersen n&#8217;ait jamais publié la version qu&#8217;il utilise dans ses différents portages (Quake, émulateur Nintendo&#8230;).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tweenpix.net/2009/01/04/flashsdl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

