<?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>Turtles</title>
	<atom:link href="http://www.turtles.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.turtles.fr</link>
	<description>Du flash, des expérimentations</description>
	<lastBuildDate>Mon, 31 May 2010 00:02:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Un bon vieux Polar()</title>
		<link>http://www.turtles.fr/un-bon-vieux-polar/</link>
		<comments>http://www.turtles.fr/un-bon-vieux-polar/#comments</comments>
		<pubDate>Mon, 31 May 2010 00:00:48 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=983</guid>
		<description><![CDATA[Point.polar(), c&#8217;est juste une méthode en as3 à qui on passe une longueur, un angle en radian, et qui retourne une position x et y. Après ces quelques images sur des tests statiques, voila les tests coolos animés ;) et &#8230; <a href="http://www.turtles.fr/un-bon-vieux-polar/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Point.polar(), c&#8217;est juste une méthode en as3 à qui on passe une longueur, un angle en radian, et qui retourne une position x et y.<br />
Après ces <a href="http://www.turtles.fr/point-polar/">quelques images</a> sur des tests statiques, voila les tests coolos animés ;)</p>
<p><a href="http://www.turtles.fr/polar-1/"><img class="alignnone size-full wp-image-984" title="Clic clic" src="http://www.turtles.fr/wp-content/uploads/2010/05/polarRand.jpg" alt="" width="566" height="301" /></a></p>
<p>et</p>
<p><a href="http://www.turtles.fr/polar-2/"><img class="alignnone size-full wp-image-985" title="clic clic" src="http://www.turtles.fr/wp-content/uploads/2010/05/tempete.jpg" alt="" width="566" height="301" /></a></p>
<h2>Comme on est pas des sauvages ; la petite explication</h2>
<p>La méthode utilisée est : <code>polar(len:<a href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/Number.html">Number</a>, angle:<a href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/Number.html">Number</a>)</code></p>
<p><code>var p:Point=Point.polar(monDiametre ,monAngleEnRadians);</code></p>
<p>On a un point !!! A partir de là vous donnez la coordonnées du point à votre clip ou autre et c&#8217;est bon.</p>
<p><code>monClip.x = p.x; monClip.y = p.y;</code></p>
<p>Certes c&#8217;est pas très fun. L&#8217;idéal est d&#8217;ajouter quelques centaines ou milliers de points dans une boucle for et de faire varier des paramètres en fonction de l&#8217;index du point par exemple, genre :</p>
<p><code>var p:Point=Point.polar(Math.sin(i)*1200,radian*i*mouseX/10);</code></p>
<p>Ca devient tout de suite mieux.</p>
<p>Si les exemples rament, signalez le moi.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/un-bon-vieux-polar/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Point.polar()</title>
		<link>http://www.turtles.fr/point-polar/</link>
		<comments>http://www.turtles.fr/point-polar/#comments</comments>
		<pubDate>Thu, 27 May 2010 21:22:20 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=951</guid>
		<description><![CDATA[J&#8217;ai fait quelques expérimentations avec la méthode Point.polar() que je ne connaissais pas. L&#8217;erreur. J&#8217;y reviendrai avec quelque chose de plus interactif :)]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai fait quelques expérimentations avec la méthode Point.polar() que je ne connaissais pas. L&#8217;erreur.</p>
<p><img class="alignnone size-full wp-image-952" title="polar1" src="http://www.turtles.fr/wp-content/uploads/2010/05/polar1.jpg" alt="" width="566" height="300" /></p>
<p><img class="alignnone size-full wp-image-953" title="polar2" src="http://www.turtles.fr/wp-content/uploads/2010/05/polar2.jpg" alt="" width="566" height="300" /></p>
<p><img class="alignnone size-full wp-image-954" title="polar3" src="http://www.turtles.fr/wp-content/uploads/2010/05/polar3.jpg" alt="" width="566" height="300" /></p>
<p>J&#8217;y reviendrai avec quelque chose de plus interactif :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/point-polar/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Découper un textfield</title>
		<link>http://www.turtles.fr/decouper-un-textfield/</link>
		<comments>http://www.turtles.fr/decouper-un-textfield/#comments</comments>
		<pubDate>Wed, 26 May 2010 20:49:10 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=931</guid>
		<description><![CDATA[Découper Découper un textfield en as3 se fait facilement avec les fonctions slice() ou substr() de la classe String. A partir de là, facile de remettre chaque caractère dans un textField indépendant pour ensuite l&#8217;animer, changer l&#8217;échelle, etc. Seul problème &#8230; <a href="http://www.turtles.fr/decouper-un-textfield/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h2>Découper</h2>
<p>Découper un textfield en as3 se fait facilement avec les fonctions<a href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/String.html#slice%28%29"> slice()</a> ou <a href="http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/String.html#substr%28%29">substr()</a> de la classe String. A partir de là, facile de remettre chaque caractère dans un textField indépendant pour ensuite l&#8217;animer, changer l&#8217;échelle, etc. Seul problème ; chaque lettre a sa largeur propre.</p>
<h2>Recoller</h2>
<p>Pour contourner un peu salement le problème de la largeur des caractères, je me sers d&#8217;une variable &#8220;largeurLettres&#8221; à laquelle vient s&#8217;ajouter la largeur de chaque nouvelle lettre (dans une boucle &#8220;for&#8221;).</p>
<p><code>lettre.x = largeurLettres;<br />
largeurLettres+=lettre.textWidth;</code></p>
<p>Ca marche bien mais :</p>
<ul>
<li>Il faut appliquer les éventuelles transformations d&#8217;échelle Avant d&#8217;incrémenter la variable ;</li>
<li>Ca correspond à la largeur des lettres et non à leur chasse.</li>
</ul>
<h2>Allez un exemple histoire de&#8230;</h2>
<p>
<object width="566" height="400">
<param name="movie" value="http://www.turtles.fr/wp-content/uploads/2010/05/bump.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="566" height="400" src="http://www.turtles.fr/wp-content/uploads/2010/05/bump.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
<p>La source de cet exemple <a href="http://www.turtles.fr/wp-content/plugins/download-monitor/download.php?id=1">à télécharger ici</a>.</p>
<p>En l&#8217;occurence je ne découpe pas de textField dans cet exemple puisque je capture la saisie clavier. Mais le recollage des caractères fonctionne de la même manière.<style type="text/css">.customBg{background:#fff url(http://www.turtles.fr/wp-content/uploads/2010/05/ciseaux.jpg) top center no-repeat;}</style>
  <script type="text/javascript">$("body").addClass("customBg");</script>
  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/decouper-un-textfield/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cities</title>
		<link>http://www.turtles.fr/cities/</link>
		<comments>http://www.turtles.fr/cities/#comments</comments>
		<pubDate>Mon, 24 May 2010 22:16:00 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=920</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-921" title="cities" src="http://www.turtles.fr/wp-content/uploads/2010/05/cities.png" alt="" width="566" height="360" /></p>
<p>
<object width="566" height="400">
<param name="movie" value="http://www.turtles.fr/wp-content/uploads/2010/05/bloc2.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="566" height="400" src="http://www.turtles.fr/wp-content/uploads/2010/05/bloc2.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/cities/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les shortcodes</title>
		<link>http://www.turtles.fr/les-shortcodes/</link>
		<comments>http://www.turtles.fr/les-shortcodes/#comments</comments>
		<pubDate>Thu, 20 May 2010 20:01:06 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=874</guid>
		<description><![CDATA[Les shortcodes sont des macros pour WordPress très faciles à implémenter. On va s&#8217;y intéresser pour varier la présentation des pages et articles à la manière des &#8220;Art-directed blogs&#8221;, tout en gardant de la souplesse en cas d&#8217;envie de tout &#8230; <a href="http://www.turtles.fr/les-shortcodes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Les shortcodes sont des macros pour WordPress très faciles à implémenter. On va s&#8217;y intéresser pour varier la présentation des pages et articles à la manière des &#8220;Art-directed blogs&#8221;, tout en gardant de la souplesse en cas d&#8217;envie de tout foutre en l&#8217;air.</p>
<h2>Art-directed blog (ADB)</h2>
<p>Un ADB c&#8217;est un blog qui adopte une présentation spécifique à chaque article. Un peu comme un magazine papier. C&#8217;est une tendance qu&#8217;on voit émerger essentiellement chez des graphistes, et pour le moment, surtout outre-atlantique. Et non, je ne vois pas comment le traduire. Ce sera ADB.</p>
<p>Faire un ADB est très facile avec WordPress 3. On peut créer un template php différent par article et le tour est joué. A court terme, c&#8217;est sympa. Le faire à chaque article c&#8217;est un peu relou. Pour la version actuelle de ce blog, j&#8217;ai opté pour un compromis : je ne change que le fond de page, que ce soit pour une image, une animation, une vidéo&#8230; ou rien. Et ce grâce aux shortcodes.</p>
<h2>Les shortcodes, qu&#8217;est-ce ?</h2>
<p>C&#8217;est une fonction qui commence avec un [ et qui termine par un ] et qui s&#8217;insère dans l&#8217;éditeur WYSIWYG de WordPress. Wouuuu. Dedans je mets mes arguments, ce que je veux. Comme en HTML on peut aussi les utiliser en double avec le couple [Shortcode] du contenu [/Shortcode].</p>
<p>Dans notre cas on veut lui transmettre l&#8217;adresse de notre fond de page (jpg, swf, js&#8230;) et qu&#8217;il s&#8217;occupe d&#8217;insérer ça proprement en fond de page.</p>
<h2>Le plus simple : changer le fond de page</h2>
<p>Pour changer le background en CSS, on utilise ça :<br />
<code>&lt;style type="text/css"&gt;body{background:#fff url('mon-image.jpg') top center no-repeat;}&lt;/style&gt;</code><br />
Notre shortcode n&#8217;aura besoin que de l&#8217;url de l&#8217;image.</p>
<p>Première étape, on se rend dans &#8220;functions.php&#8221; présent dans le dossier du thème WordPress utilisé. Puis, n&#8217;importe où après &#8220;&lt;? php&#8221; on ajoute cette fonction :<code>function customBg($atts){<br />
$bloginfo = get_bloginfo($template_directory);<br />
extract(shortcode_atts(array(<br />
"url" =&gt; 'http://www.site.com/fond_par_defaut.jpg',<br />
), $atts));<br />
return '&lt;style type="text/css"&gt;body{background:#fff url('.$url.') top center no-repeat;}&lt;/style&gt;';<br />
}<br />
add_shortcode('bg', 'customBg');<br />
</code>La fonction extrait les attributs qu&#8217;on lui passe (l&#8217;url de l&#8217;image). Et elle retourne notre code CSS avec l&#8217;image dedans. La dernière ligne active le shortcode, et associe la fonction &#8220;customBg&#8221; avec le shortcode &#8220;bg&#8221;.</p>
<p>&#8220;url&#8221; est le seul paramètre à extraire. On lui assigne une valeur par défaut au cas où.<br />
Dans le corps du message, on insère juste <strong>&#91;bg url=&#8221;ladresse_de_limage.jpg&#8221;&#93;</strong> et voila ;)<br />
Attention à bien utiliser des adresses absolues. Je trouve personnellement bien pratique d&#8217;uploader l&#8217;image dans la bibliothèque WordPress et copier-coller l&#8217;url. Ca permet de ne pas faire de boulette lors de mises à jour ou migrations car l&#8217;image restera dans le dossier &#8220;uploads&#8221;.</p>
<h2>Next</h2>
<p>La prochaine fois on verra pour intégrer soit du flash fullscreen soit du canvas. Un peu plus fun.<style type="text/css">.customBg{background:#fff url(http://www.turtles.fr/wp-content/uploads/2010/05/shortcodes11.gif) top center no-repeat;}</style>
  <script type="text/javascript">$("body").addClass("customBg");</script>
  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/les-shortcodes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I will be back</title>
		<link>http://www.turtles.fr/i-will-be-back-2/</link>
		<comments>http://www.turtles.fr/i-will-be-back-2/#comments</comments>
		<pubDate>Sat, 17 Apr 2010 15:10:35 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=542</guid>
		<description><![CDATA[Bientôt un petit ravalement de façade par ici. Stay tuned. UPDATE : Le dernier article a sauté avec la mise en jour. Mais au moins elle est faite :) Pour info le fond ne restera pas entièrement blanc. J&#8217;ai fait &#8230; <a href="http://www.turtles.fr/i-will-be-back-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Bientôt un petit ravalement de façade par ici. Stay tuned.</p>
<p>UPDATE : Le dernier article a sauté avec la mise en jour. Mais au moins elle est faite :)</p>
<p>Pour info le fond ne restera pas entièrement blanc. J&#8217;ai fait un petit shortcode qui me permettra d&#8217;ajouter un fond de page par article.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/i-will-be-back-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Les expressions régulières en as3</title>
		<link>http://www.turtles.fr/les-expressions-regulieres-en-as3-2/</link>
		<comments>http://www.turtles.fr/les-expressions-regulieres-en-as3-2/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 22:18:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=537</guid>
		<description><![CDATA[Je ne voulais pas toucher à ces saloperies, règles barbares et indigestes pour parcourir et modifier un texte un peu plus subtilement que de le couper en deux&#8230; et cette fois je n&#8217;ai pas eu le choix. Si, comme moi, &#8230; <a href="http://www.turtles.fr/les-expressions-regulieres-en-as3-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je ne voulais pas toucher à ces saloperies, règles barbares et indigestes pour parcourir et modifier un texte un peu plus subtilement que de le couper en deux&#8230; et cette fois je n&#8217;ai pas eu le choix.</p>
<p>Si, comme moi, vous n&#8217;y comprenez rien et êtes forcés de les utiliser, <a href="http://www.sevenson.com.au/actionscript/testing-regular-expressions/">vous serez heureux de trouver ici un testeur live d&#8217;expression</a>.<br />
C&#8217;est bien pratique pour faire plein de tests dans tous les sens jusqu&#8217;à aboutir au bon résultat :)</p>
<p>Si vous n&#8217;avez rien compris à cet article, sachez qu&#8217;une expression régulière c&#8217;est ce qui sert à tester la validité d&#8217;une adresse email, formater un numéro de téléphone, inverser &#8220;balo-bali&#8221; en &#8220;bali-balo&#8221;, remplacer le &#8220;β&#8221; par &#8220;ss&#8221; et &#8220;yogurt&#8221; par &#8220;yaourt&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/les-expressions-regulieres-en-as3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Googlemap, la 3D, en as3</title>
		<link>http://www.turtles.fr/googlemap-la-3d-en-as3-2/</link>
		<comments>http://www.turtles.fr/googlemap-la-3d-en-as3-2/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 22:06:27 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Non classé]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=522</guid>
		<description><![CDATA[CTRL, SHIFT et  la tortue, pour faire mumuse.]]></description>
			<content:encoded><![CDATA[<p>CTRL, SHIFT et  la tortue, pour faire mumuse.</p>
<p>
<object width="416" height="416">
<param name="movie" value="http://www.turtles.fr/wp-content/uploads/2009/12/gmap_3D_as31.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="416" height="416" src="http://www.turtles.fr/wp-content/uploads/2009/12/gmap_3D_as31.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/googlemap-la-3d-en-as3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lost Characters</title>
		<link>http://www.turtles.fr/lost-characters-2/</link>
		<comments>http://www.turtles.fr/lost-characters-2/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 13:34:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=501</guid>
		<description><![CDATA[Le principe : Donner naissance à un caractère typographique qui n’a rien demandé, complètement hors contexte et hors du temps. Fond transparent ou blanc de préférence. Postez-le sur votre blog avec comme titre “Lost Characters”. EN : Create a single &#8230; <a href="http://www.turtles.fr/lost-characters-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-504" title="Lost Characters Y" src="http://www.turtles.fr/wp-content/uploads/2009/09/lost_characters_Y1.gif" alt="Lost Characters Y" width="416" height="500" /></p>
<p><strong>Le principe : </strong>Donner naissance à un caractère typographique qui n’a rien demandé, complètement hors contexte et hors du temps. Fond transparent ou blanc de préférence. Postez-le sur votre blog avec comme titre “Lost Characters”.</p>
<p><em>EN : Create a single character, out of context and out of time. Post it on your blog with “</em>Lost Characters<em>” as a title. The freak must be on a transparent or white background.</em></p>
<p><em> </em><em><strong>Contributions</strong></em></p>
<ul>
<li><em></em><em><strong>F</strong> : <a href="http://zukunft.fr/blog/?p=529" target="_blank">Florent Guerlain</a></em></li>
<li><em></em><em><strong>G</strong> : <a href="http://woumpah.com/lose/graphisme/lost-characters/" target="_blank">Gautier GEVREY</a></em></li>
<li><em><strong>R</strong> : <a href="http://blog.raphaelbastide.com/2009/09/07/lost-characters/" target="_blank">Raphaël Bastide</a></em></li>
<li><em><strong>M : </strong><a href="http://soymalau.com/blog/2009/09/08/lost-characters/" target="_blank">Baptiste Fluzin</a></em></li>
<li><em>Y : <a href="http://www.turtles.fr/2009/09/08/501-lost-characters/" target="_blank">Alexandre Perrachon</a><br />
</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/lost-characters-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>BitmapData &#8211; AS3</title>
		<link>http://www.turtles.fr/bitmapdata-as3-2-2/</link>
		<comments>http://www.turtles.fr/bitmapdata-as3-2-2/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 12:45:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Travaux personnels]]></category>

		<guid isPermaLink="false">http://www.turtles.fr/?p=493</guid>
		<description><![CDATA[Je voulais tester ce fameux BitmapData (en actionscript 3) depuis un moment. Un passage sur wonderfl pour voir quelques exemples, et ensuite le bidouillage. Voila une petite explication du fonctionnement à destination de tout le monde sauf les devs, sous &#8230; <a href="http://www.turtles.fr/bitmapdata-as3-2-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je voulais tester ce fameux BitmapData (en actionscript 3) depuis un moment. Un passage sur <a href="http://wonderfl.net/">wonderfl </a>pour voir quelques exemples, et ensuite le bidouillage.</p>
<p>
<object width="416" height="250">
<param name="movie" value="http://www.turtles.fr/wp-content/uploads/2009/09/bmData3.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="416" height="250" src="http://www.turtles.fr/wp-content/uploads/2009/09/bmData3.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
<p>Voila une petite explication du fonctionnement à destination de tout le monde sauf les devs, sous peine d&#8217;être pris pour un neuneu.</p>
<p>En gros il s&#8217;agit d&#8217;un bitmap, donc d&#8217;une image avec des <strong>pixels</strong>. On est dans flash qui est un environnement vectoriel à la base, donc il est important de le préciser.</p>
<p>On crée un bitmap (ici, <strong>bmp</strong>), un bitmapData (<strong>bmd</strong>), puis on assigne le bitmapData au bitmap. Par la suite on ne travaillera plus que sur le bitmapData.<span id="more-839"></span></p>
<p><em>var bmp:Bitmap = new Bitmap();<br />
var bmd:BitmapData;<br />
addChild(bmp);<br />
addChild(bmd);<br />
bmd = new BitmapData(stage.stageWidth,stage.stageHeight,true,0xFF0000);<br />
bmp.bitmapData = bmd;</em></p>
<p>Le bitmapData fait la taille de la scène, nickel, il est transparent (true), et la dernière valeur ne sert donc à rien puisqu&#8217;il s&#8217;agit de la couleur de fond.</p>
<p>Maintenant pour &#8220;colorier&#8221; les pixels, il suffit de donner les coordonnées et la couleur. Par exemple :</p>
<p><em>bmd.setPixel(30,30,0xFF0000);</em></p>
<p>C&#8217;est chouette. On peut aussi faire pareil avec une zone rectangulaire avec <em>setPixels(monRectangle, monTableaudOctets);</em> Il y a d&#8217;autres fonctions pour créer du bruit, du bruit fractal (exactement comme Photoshop), etc.</p>
<p>Dans l&#8217;exemple tout en haut, je ne me suis pas amusé à colorier tous mes pixels avec setPixel(). En fait j&#8217;ai des clips animés par dessus mon bitmap, et à chaque frame (ici, 60/s) je les <strong>dessine</strong> sur mon bitmap. Mettons que j&#8217;ai monClip_mc qui bouge dans tous les sens, je peux faire en sorte qu&#8217;il soit &#8220;imprimé&#8221; sur mon bitmap en permanence en écrivant :</p>
<p><em>bmd.draw(monClip_mc);</em></p>
<p>On a pas réellement dupliqué le clip (ce qui serait assez violent niveau mémoire) mais on a dessiné ce clip sur le bitmap. Les pixels du bitmap ont pris la couleur du clip à l&#8217;emplacement du clip. C&#8217;est clair ?</p>
<p>Terminons sur le fade out (alpha out) de l&#8217;exemple. Les clips créent une traînée qui s&#8217;estompe rapidement. Pour ce faire, j&#8217;applique à mon bitmapData un colorTransform, et ce toujours à chaque frame. Ca permet de changer les couleurs et l&#8217;alpha en permanence, et comme au même moment je dessine les clips par dessus, ça donne cette sensation de traînée. Pour appliquer ce colorTransform, il faut lui spécifier dans quelle zone agir, et quelles valeurs de couleurs et d&#8217;alpha.</p>
<p><em>var changeColors: new ColorTransform(1, 1.05, 1.1, 0.95);<br />
var rect:Rectangle=new Rectangle(0,0,stage.stageWidth,stage.stageHeight);<br />
bmd.colorTransform(rect, </em><em>changeColors</em><em>);</em></p>
<p>Mon colorTransform a plusieurs arguments (1,1.05,1.1,0.95), ce sont des multiplicateurs. En l&#8217;occurence les 3 premiers correspondent aux canaux de couleur RVB, et le dernier est l&#8217;alpha. Pourquoi un multiplicateur ? Tout simplement parceque si je dis que le multiplicateur d&#8217;alpha fait 0.8, l&#8217;action engendrée sera : monAlphaActuel*0.8, et non pas alpha  0.8; Vous voyez la nuance ? A chaque frame, l&#8217;alpha fera 80% de l&#8217;alpha précédent. Je vous laisse calculer combien de frames il faut pour arriver à 0 ;)</p>
<p>En clair dans cet exemple, à chaque frame je vais augmenter mon canal vert de 5%, le bleu de 10%, et baisser l&#8217;alpha de 5%, ce qui entraîne un léger changement de teinte et va progressivement faire disparaitre les éléments.</p>
<p>Ce n&#8217;est qu&#8217;un aperçu du fonctionnement des bitmapData, et surtout une infime partie de ce qu&#8217;on peut en faire. Pour l&#8217;instant je constate que c&#8217;est très véloce (toujours fluide à 120frame/s) et qu&#8217;il y a moyen d&#8217;expérimenter des systèmes de particules assez facilement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.turtles.fr/bitmapdata-as3-2-2/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk (enhanced)
Database Caching using disk

Served from: www.turtles.fr @ 2010-09-03 05:08:02 -->