<?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>Flash actionscript &#187; Code Source</title>
	<atom:link href="http://blog.flash-actionscript.com/category/code-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.flash-actionscript.com</link>
	<description>Tutoriaux, trucs et astuces sur actionscript, papervision 3D, fms ... Un peu de tout sur l'univers flash.</description>
	<lastBuildDate>Thu, 09 Dec 2010 10:56:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[ActionScript 3] SendAndLoad communiquer entre flash et page serveur</title>
		<link>http://blog.flash-actionscript.com/actionscript-3-sendandload-communiquer-entre-flash-et-page-serveur/</link>
		<comments>http://blog.flash-actionscript.com/actionscript-3-sendandload-communiquer-entre-flash-et-page-serveur/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 15:59:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[Classe]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[load]]></category>
		<category><![CDATA[send]]></category>
		<category><![CDATA[sendAndLoad]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=286</guid>
		<description><![CDATA[Une fonction que je trouvais pratique en ActionScript 2 et qui n&#8217;a pas été reprise en ActionScript 3 est le SendAndLoad. Voilà une classe qui fait ce que faisait le SendAndLoad à savoir envoyer des variables à une page serveur (php, asp, .net &#8230;) et attend une valeur en retour. package { import flash.events.Event; import [...]]]></description>
			<content:encoded><![CDATA[<p>Une fonction que je trouvais pratique en ActionScript 2 et qui n&#8217;a pas été reprise en ActionScript 3 est le <a title="Communiquer entre page serveur et flash avec SendAndLoad" href="http://blog.flash-actionscript.com/actionscript-2-communication-entre-flash-et-page-serveur-sendandload/"><strong>SendAndLoad</strong></a>. Voilà une classe qui fait ce que faisait le SendAndLoad à savoir envoyer des variables à une page serveur (php, asp, .net &#8230;) et attend une valeur en retour.</p>
<pre class="brush: js">package
{
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;

public class SendAndLoad
{
private var _urlRecupParam:String;
private var fctRetour:Function;

public function SendAndLoad(pUrl:String, pArrVariables:Object, pFctRetour:Function) {
urlRecupParam = pUrl;
fctCreerURLVariables(pArrVariables);
fctRetour = pFctRetour;
}

public function get urlRecupParam():String { return _urlRecupParam; }

public function set urlRecupParam(value:String):void {
_urlRecupParam = value;
}

private function fctCreerURLVariables(pArrVariables:Object):void {
var mesVars:URLVariables = new URLVariables();

for (var key:Object in pArrVariables) {
mesVars[key] = pArrVariables[key];
}

fctSendAndLoad(urlRecupParam, mesVars);
}

private function fctSendAndLoad(pUrl:String, pVars:URLVariables):void {
var request:URLRequest = new URLRequest(pUrl);
var loader:URLLoader = new URLLoader();

loader.dataFormat = URLLoaderDataFormat.VARIABLES;

request.data = pVars;
request.method = URLRequestMethod.POST;
loader.addEventListener(Event.COMPLETE, fctSendComplete);
loader.addEventListener(IOErrorEvent.IO_ERROR, fctSendAndLoadIOError);
loader.load(request);
}

private function fctSendComplete(pEvt:Event):void {
var loader:URLLoader = URLLoader(pEvt.target);
loader.dataFormat = URLLoaderDataFormat.VARIABLES ;
fctRetour(loader.data);
}

private function fctSendAndLoadIOError(pEvt:IOErrorEvent):void {
trace(&quot;IOError sur le send and load : &quot; + pEvt);
}
}
}</pre>
<p>Il faut créer une fonction de retour dans la classe principale qui traitera les données envoyer en retour de votre requête de flash.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/actionscript-3-sendandload-communiquer-entre-flash-et-page-serveur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ActionScript 2] Charger un fichier CSS et appliquer des styles dans Flash</title>
		<link>http://blog.flash-actionscript.com/actionscript-2-charger-un-fichier-css-et-appliquer-des-styles-dans-flash/</link>
		<comments>http://blog.flash-actionscript.com/actionscript-2-charger-un-fichier-css-et-appliquer-des-styles-dans-flash/#comments</comments>
		<pubDate>Mon, 25 May 2009 21:29:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript 2]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[feuille de style]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=255</guid>
		<description><![CDATA[Je vous avais parlé de l'utilisation des feuilles de styles en ActionScript 3, il est possible d'en utiliser également en ActionScript 2. Pour se faire, il faut charger un fichier xml, vous pouvez les faire comme ci-dessous.]]></description>
			<content:encoded><![CDATA[<p>Je vous avais parlé de l&#8217;utilisation des <a title="Feuille de style en ActionScript 3" href="http://blog.flash-actionscript.com/actionscript-3-texte-et-feuille-de-style/">feuilles de styles en ActionScript 3</a>, il est possible d&#8217;en utiliser également en ActionScript 2. Pour se faire, il faut charger un fichier xml, vous pouvez les faire comme ci-dessous.</p>
<pre class="brush: js">var monCSS = new TextField.StyleSheet( ) ;

function CSSLoader( CSSPath:String ):Void {
monCSS.onLoad = function( success:Boolean ):Void {
if ( success ) {
}
};
monCSS.load( CSSPath ) ;
};

CSSLoader( cheminDuFichierCSS ) ;</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/actionscript-2-charger-un-fichier-css-et-appliquer-des-styles-dans-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Actionscript 2] Récupérer les valeurs d&#8217;un fichier XML</title>
		<link>http://blog.flash-actionscript.com/actionscript-2-recuperer-les-valeurs-d-un-fichier-xml/</link>
		<comments>http://blog.flash-actionscript.com/actionscript-2-recuperer-les-valeurs-d-un-fichier-xml/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 13:21:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript 2]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[attribute]]></category>
		<category><![CDATA[traitement des données]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=168</guid>
		<description><![CDATA[Dans un article précédent, je vous montrer comment charger un fichier XML en ActionScript. A présent, on va voir comment récupérer les valeurs des attributs du fichier XML.]]></description>
			<content:encoded><![CDATA[<p>Dans un article précédent, je vous montrais <a title="Charger un fichier XML en Actionscript" href="http://blog.flash-actionscript.com/actionscript-2-charger-un-fichier-xml/">comment charger un fichier XML en ActionScript</a>. A présent, on va voir comment récupérer les valeurs des attributs du fichier XML. On repart donc de ce fichier :</p>
<pre class="brush: xml">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;diaporama&gt;
&lt;langue nom=&quot;fr&quot;&gt;
&lt;image nom=&quot;image1.png&quot; description=&quot;Ma premiere image&quot; /&gt;
&lt;image nom=&quot;image2.png&quot; description=&quot;Ma seconde image&quot; /&gt;
&lt;image nom=&quot;image3.png&quot; description=&quot;Ma troisieme image&quot; /&gt;
&lt;/langue&gt;
&lt;langue nom=&quot;en&quot;&gt;
&lt;image nom=&quot;image1.png&quot; description=&quot;My first image&quot; /&gt;
&lt;/langue&gt;
&lt;/diaporama&gt;
</pre>
<p>Comment se structure ce fichier en as2 ?</p>
<pre class="brush: js">
function XMLLoader( XMLPath:String ):Void {
donnees_xml.load( XMLPath ) ;
donnees_xml.onLoad = function( success:Boolean ) {
if ( success ) {
noeuds = this.firstChild.childNodes ;
nbImages = noeuds[0].childNodes.length ;

trace( this + &quot;\n&quot; ) ;
trace( this.firstChild + &quot;\n&quot; ) ;
trace( noeuds + &quot;\n&quot; ) ;

for ( var i:Number = 0 ; i &lt; nbImages ; i++ ) {
arrNom[ i ] = noeuds[0].childNodes[i].attributes.nom ;
trace( arrNom[ i ] ) ;
arrDescription[ i ] = noeuds[0].childNodes[i].attributes.description ;
trace( arrDescription[ i ] ) ;
}
nextFrame( ) ;
}
}
}
</pre>
<p>Les trace dans le code ActionScript devraient vous donner le résultat suivant :</p>
<pre class="brush: js">&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;&lt;diaporama&gt;&lt;langue nom=&quot;fr&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;Ma premiere image&quot; /&gt;&lt;image nom=&quot;image2.png&quot; description=&quot;Ma seconde image&quot; /&gt;&lt;image nom=&quot;image3.png&quot; description=&quot;Ma troisieme image&quot; /&gt;&lt;/langue&gt;&lt;langue nom=&quot;en&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;My first image&quot; /&gt;&lt;/langue&gt;&lt;/diaporama&gt;

&lt;diaporama&gt;&lt;langue nom=&quot;fr&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;Ma premiere image&quot; /&gt;&lt;image nom=&quot;image2.png&quot; description=&quot;Ma seconde image&quot; /&gt;&lt;image nom=&quot;image3.png&quot; description=&quot;Ma troisieme image&quot; /&gt;&lt;/langue&gt;&lt;langue nom=&quot;en&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;My first image&quot; /&gt;&lt;/langue&gt;&lt;/diaporama&gt;

&lt;langue nom=&quot;fr&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;Ma premiere image&quot; /&gt;&lt;image nom=&quot;image2.png&quot; description=&quot;Ma seconde image&quot; /&gt;&lt;image nom=&quot;image3.png&quot; description=&quot;Ma troisieme image&quot; /&gt;&lt;/langue&gt;,&lt;langue nom=&quot;en&quot;&gt;&lt;image nom=&quot;image1.png&quot; description=&quot;My first image&quot; /&gt;&lt;/langue&gt;

image1.png
Ma premiere image
image2.png
Ma seconde image
image3.png
Ma troisieme image
</pre>
<p>Les attributs des lignes XML peuvent être atteintes grâce à <strong>attributes</strong>, la syntaxe est une syntaxe pointée. Avec les attributs, ajouter des lignes ne pose pas de problème quand à la structure de la page, mais les attributs ne sont pas adaptés pour les textes longs, nous y reviendrons une prochaine fois.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/actionscript-2-recuperer-les-valeurs-d-un-fichier-xml/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>[Code Source] Code complet pour le jeu de memory en flash</title>
		<link>http://blog.flash-actionscript.com/code-source-code-complet-pour-le-jeu-de-memory-en-flash/</link>
		<comments>http://blog.flash-actionscript.com/code-source-code-complet-pour-le-jeu-de-memory-en-flash/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 12:48:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Source]]></category>
		<category><![CDATA[jeu flash]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=137</guid>
		<description><![CDATA[Après les quelques articles sur le jeu de memory, voici le code complet du jeu pour flash.]]></description>
			<content:encoded><![CDATA[<p>Après les quelques articles sur le jeu de memory, voici le code complet du jeu pour flash. Dans ce code, il y a le chrono et la fonction de fin de jeu qui n&#8217;ont pas été expliqué dans les articles précédents, mais le code ne devrait pas vous poser de problème. Les déclarations de variables n&#8217;ont pas non plus été faites dans les précédents articles. Mais là vous avez tout le code fonctionnel.</p>
<pre class="brush: js">stop();

import gs.TweenMax;
import gs.easing.*;

var conteneur:Sprite = new Sprite( ) ;
addChild( conteneur ) ;

var arrTeinte:Array = new Array( ) ;
var arrTeinteTmp:Array = new Array( ) ;
var arrCouleurCarte:Array = new Array( ) ;
var nbCarteRetournee:Number = 0 ;
var carteNumero1:MovieClip ;
var carteNumero2:MovieClip ;
var nbCartes:Number ;
var nbPairesADefinir:Number ;
var paireATrouver:Number ;
var paireTrouvee:Number = 0 ;
var nbMouvement:Number = 0 ;
var txtChrono:TextField = new TextField( ) ;
var tempsJeu:Number ;
var timerChrono:Timer = new Timer( 1000 ) ;

arrTeinte[ 0 ] = &quot;0x999999&quot; ;
arrTeinte[ 1 ] = &quot;0x33ffff&quot; ;
arrTeinte[ 2 ] = &quot;0xff33ff&quot; ;
arrTeinte[ 3 ] = &quot;0xffff33&quot; ;
arrTeinte[ 4 ] = &quot;0x66ffff&quot; ;
arrTeinte[ 5 ] = &quot;0xff66ff&quot; ;
arrTeinte[ 6 ] = &quot;0xffff66&quot; ;
arrTeinte[ 7 ] = &quot;0x6666ff&quot; ;
arrTeinte[ 8 ] = &quot;0xff9966&quot; ;
arrTeinte[ 9 ] = &quot;0x66ff99&quot; ;

function fctInit( ):void {
fctPlacerElements( 2, 3 ) ;
fctAttribuerCouleur( 2, 3 ) ;
trace( &quot;Nombre d&#039;elements que contient le conteneur: &quot; + conteneur.numChildren );
conteneur.addEventListener( MouseEvent.CLICK, fctRetourner ) ;
fctChrono( 30 ) ;
}
fctInit( ) ;

function fctPlacerElements( nbLignes:Number, nbColonnes:Number ):void {
// Liaison d&#039;un MovieClip de la bibliotheque
// Il represente la carte de dos
// A l interieur de ce MovieClip il y a une shape
// On peut mettre une image
var carte:DosCarte ;

// La paire a trouver est une variable globale qui nous servira a savoir si le joueur a tout trouver ou non.
paireATrouver = ( nbLignes * nbColonnes ) / 2 ;

for ( var i:uint = 1 ; i &amp;lt;= nbLignes ; i++ ) {
for ( var j:uint = 1 ; j &amp;lt;= nbColonnes ; j++ ) {
// On instancie les carte avec le nom de liaison de la bibliotheque
carte = new DosCarte( ) ;
// On donne un id a chaque carte
carte[&quot;numId&quot;] = ( nbColonnes * ( i - 1 ) ) + j ;
// On donne les coordonnees des cartes
carte.x = ( carte.width + 10 ) * ( j - 1 ) + ( carte.width / 2 ) + 10 ;
carte.y = ( carte.height + 10 ) * ( i - 1 ) + ( carte.height / 2 ) + 10 ;
// On donne la main au survol des boutons
carte.buttonMode = true ;
// On ajoute les cartes au conteneur
conteneur.addChild( carte ) ;
}
}
}

function fctAttribuerCouleur( nbLignes:Number, nbColonnes:Number ):void {
nbCartes = nbLignes * nbColonnes ;
nbPairesADefinir = nbCartes / 2 ;

// On initialise le tableau temporaire avec les couleurs du tableau principal
arrTeinteTmp = arrTeinte ;

// La boucle qui va attribuer les couleurs aux cartes
for ( var i:int = 0 ; i &amp;lt; nbCartes ; i++ ) {
if ( arrTeinteTmp.length &amp;gt; 1 ) {
arrCouleurCarte[ i ] = arrTeinteTmp[ Math.round( Math.random( ) * ( nbPairesADefinir - 1 ) + 1 ) ] ;
}
else {
// La valeur 0 du tableau arrTeinteTmp est celle de la dos de carte
arrCouleurCarte[ i ] = arrTeinteTmp[ 1 ] ;
}
for ( var j:int = 0 ; j &amp;lt; nbCartes ; j++ ) {
if ( arrCouleurCarte[ i ] == arrCouleurCarte[ j ] &amp;amp;amp;&amp;amp;amp; i != j ) {
// On appelle la fonction qui va supprimer la couleur qui est utilisée deux fois.
fctRedefinirArrTeinteTemp( arrCouleurCarte [ i ] ) ;
break ;
}
}
}
}

function fctRedefinirArrTeinteTemp( couleur:String ) {
var placeCouleurAChanger:Number ;
nbPairesADefinir-- ;

for ( var i:int = 0 ; i &amp;lt; arrTeinteTmp.length ; i++ ) {
if ( arrTeinteTmp[ i ] == couleur || i &amp;gt;= placeCouleurAChanger ) {
placeCouleurAChanger = i ;
arrTeinteTmp[ i ] = arrTeinteTmp[ i + 1 ] ;
}
}
}

function fctRetourner( pEvt:MouseEvent ):void {
// On verifie qu&#039;il n&#039;y ait pas deja deux cartes de retournees ou qu&#039;on ne clique pas sur une carte deja retournee
if ( nbCarteRetournee != 2 &amp;amp;amp;&amp;amp;amp; carteNumero1 != pEvt.target as MovieClip ) {
// On attribue la carte cliquee
// A la premiere carte si celle ci est non attribuee
if ( carteNumero1 == null ) {
carteNumero1 = MovieClip( pEvt.target ) ;
}
// A la deuxiemme si la premiere est deja retournee
else {
carteNumero2 = MovieClip( pEvt.target ) ;
}
// On cree un effet de retournement de la carte. A la fin de celui-ci on decouvre la couleur
TweenMax.to( pEvt.target, 0.2, { scaleX:0.1, alpha:0.3, onComplete:fctDecouvrirCarte, onCompleteParams:[ pEvt.target ] } ) ;
}
}

function fctDecouvrirCarte( carte:MovieClip ):void {
// Variable initialisee a 0
nbCarteRetournee++ ;
// Grace a TweenMax on retablit la taille de la carte et l alpha de la carte
// Avec la propriete teinte et le tableau qu&#039;on a prealablement defini on lui donne sa couleur
TweenMax.to( carte, 0.2, { scaleX:1, alpha:1, tint:arrCouleurCarte[ carte[&quot;numId&quot;] - 1 ] } ) ;

// Si deux cartes sont retournees on verifie si la paire correspond ou non
if ( nbCarteRetournee == 2 ) {
var myTimer:Timer = new Timer( 1000, 1 ) ;
myTimer.addEventListener( TimerEvent.TIMER, fctCheckPaire ) ;
myTimer.start( ) ;
}
}

function fctCheckPaire( pEvt:TimerEvent ):void {
// On compte le nombre d action effectuees par le joueur, juste pour lui dire le nombre de coups dont il a eu besoin pour finir le jeu
nbMouvement++ ;
// Si la carte 1 et la carte deux ont la meme couleur
if ( arrCouleurCarte[ carteNumero1[&quot;numId&quot;] - 1 ] == arrCouleurCarte[ carteNumero2[&quot;numId&quot;] - 1 ] ) {
paireTrouvee++ ;

// Si toutes les paires ont ete trouvees
if ( paireTrouvee == paireATrouver ) {
fctFinJeu( ) ;
}
// La reinitialisation de la paire permet de libere les cartes en jeu
// On remet a 0 le nombre de carte et on libere les cartes : carteNumero1, carteNumero2
else {
fctReinitPaire( ) ;
}
}
// Si la paire ne correspond pas on lui met la couleur de dos de carte et on libere les cartes a la fin
else {
TweenMax.to( carteNumero1, 0.2, { scaleX:0.1, alpha:0.3, tint:arrTeinte[ 0 ] } ) ;
TweenMax.to( carteNumero2, 0.2, { scaleX:0.1, alpha:0.3, tint:arrTeinte[ 0 ], onComplete:fctRecouvrirCarte } ) ;
}
}

function fctRecouvrirCarte( ):void {
TweenMax.to( carteNumero1, 0.2, { scaleX:1, alpha:1 } ) ;
TweenMax.to( carteNumero2, 0.2, { scaleX:1, alpha:1, onComplete:fctReinitPaire } ) ;
}

function fctReinitPaire( ):void {
nbCarteRetournee = 0 ;
carteNumero1 = null ;
carteNumero2 = null ;
}

function fctChrono( temps:Number ):void {
tempsJeu = temps ;
conteneur.addChild( txtChrono ) ;
txtChrono.y = conteneur.height ;
txtChrono.height = 18 ;

timerChrono.addEventListener( TimerEvent.TIMER, fctAfficherChrono ) ;
timerChrono.start( ) ;
}

function fctAfficherChrono( pEvt:TimerEvent ):void {
if ( tempsJeu &amp;gt; 0 ) {
txtChrono.htmlText = &quot;Temps de jeu: &quot; + String( tempsJeu-- ) ;
}
else {
fctFinJeu( ) ;
}
}

function fctFinJeu( ):void {
timerChrono.stop( ) ;
conteneur.removeEventListener( MouseEvent.CLICK, fctRetourner ) ;

var monTexte:TextField = new TextField( ) ;
conteneur.addChild( monTexte ) ;

monTexte.selectable = false ;
monTexte.width = stage.stageWidth ;
monTexte.y = conteneur.height ;

monTexte.htmlText = &quot;Vous avez réussi le jeu en &quot; + nbMouvement + &quot; mouvements.\nLe nombre minimum de coups étant de &quot; + paireATrouver + &quot; mouvements.&quot; ;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-code-complet-pour-le-jeu-de-memory-en-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Code source] Jeu memory en actionscript 3, partie 8.</title>
		<link>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-8/</link>
		<comments>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-8/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 13:38:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[jeu]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=136</guid>
		<description><![CDATA[Ca y est c'est la fin, avec le prochain article je vous mettrais tout le code source de l'application memory en actionscript 3.]]></description>
			<content:encoded><![CDATA[<p>Ca y est c&#8217;est la fin, avec le prochain article je vous mettrais tout le code source de l&#8217;application memory en <strong>actionscript 3</strong>. Mais pour cette dernière partie, je vais vous montrer les fonctions qui permettent de remettre les cartes à 0, dans l&#8217;état non retourné.</p>
<pre class="brush: js">function fctRecouvrirCarte( ):void {
TweenMax.to( carteNumero1, 0.2, { scaleX:1, alpha:1 } ) ;
TweenMax.to( carteNumero2, 0.2, { scaleX:1, alpha:1, onComplete:fctReinitPaire } ) ;
}

function fctReinitPaire( ):void {
nbCarteRetournee = 0 ;
carteNumero1 = null ;
carteNumero2 = null ;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Code source] Jeu memory en actionscript 3, partie 7.</title>
		<link>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-7/</link>
		<comments>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-7/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 14:18:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[jeu]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[tweenmax]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=133</guid>
		<description><![CDATA[Nous allons dans cet article voir la fonction qui va checker si on a une paire ou non, l'essence même du jeu de memory.]]></description>
			<content:encoded><![CDATA[<p>On approche de la fin avec cette 7ème partie du jeu de memory en actionscript 3. Nous allons dans cet article voir la fonction qui va checker si on a une paire ou non, l&#8217;essence même du jeu de memory. On est toujours dans la programmation événementiel et on travaille une fois de plus avec TweenMax.</p>
<pre class="brush: js">function fctCheckPaire( pEvt:TimerEvent ):void {
// On compte le nombre d action effectuees par le joueur, juste pour lui dire le nombre de coups dont il a eu besoin pour finir le jeu
nbMouvement++ ;
// Si la carte 1 et la carte deux ont la meme couleur
if ( arrCouleurCarte[ carteNumero1[&quot;numId&quot;] - 1 ] == arrCouleurCarte[ carteNumero2[&quot;numId&quot;] - 1 ] ) {
paireTrouvee++ ;

// Si toutes les paires ont ete trouvees
if ( paireTrouvee == paireATrouver ) {
fctFinJeu( ) ;
}
// La reinitialisation de la paire permet de libere les cartes en jeu
// On remet a 0 le nombre de carte et on libere les cartes : carteNumero1, carteNumero2
else {
fctReinitPaire( ) ;
}
}
// Si la paire ne correspond pas on lui met la couleur de dos de carte et on libere les cartes a la fin
else {
TweenMax.to( carteNumero1, 0.2, { scaleX:0.1, alpha:0.3, tint:arrTeinte[ 0 ] } ) ;
TweenMax.to( carteNumero2, 0.2, { scaleX:0.1, alpha:0.3, tint:arrTeinte[ 0 ], onComplete:fctRecouvrirCarte } ) ;
}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Code source] Jeu memory en actionscript 3, partie 6.</title>
		<link>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-6/</link>
		<comments>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-6/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 13:36:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[actionscript 3]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[jeu]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[tween]]></category>
		<category><![CDATA[tweenmax]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=128</guid>
		<description><![CDATA[Une fois que les cartes sont retournées, il faut voir si les couleurs correspondent. Avec l'aide de TweenMax, on va remettre la carte à sa taille et son alpha d'origine.]]></description>
			<content:encoded><![CDATA[<p>Une fois que les cartes sont retournées, il faut voir si les couleurs correspondent. Avec l&#8217;aide de <strong><a title="tween facile avec Tweenmax" href="http://blog.flash-actionscript.com/extension-tweenmax-et-tweenlite-facilitent-la-gestion-des-tween/">TweenMax</a></strong>, on va remettre la carte à sa taille et son alpha d&#8217;origine. Et grâce au paramètre tint et au <a title="tableau couleurs des cartes du memory" href="http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-2/">tableau de couleurs</a> que l&#8217;on a préalablement créé, on va pouvoir mettre une couleur à la carte.</p>
<pre class="brush: js">function fctDecouvrirCarte( carte:MovieClip ):void {
// Variable initialisee a 0
nbCarteRetournee++ ;
// Grace a TweenMax on retablit la taille de la carte et l alpha de la carte
// Avec la propriete teinte et le tableau qu&#039;on a prealablement defini on lui donne sa couleur
TweenMax.to( carte, 0.2, { scaleX:1, alpha:1, tint:arrCouleurCarte[ carte[&amp;amp;amp;quot;numId&amp;amp;amp;quot;] - 1 ] } ) ;

// Si deux cartes sont retournees on verifie si la paire correspond ou non
if ( nbCarteRetournee == 2 ) {
var myTimer:Timer = new Timer( 1000, 1 ) ;
myTimer.addEventListener( TimerEvent.TIMER, fctCheckPaire ) ;
myTimer.start( ) ;
}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Code source] Jeu memory en actionscript 3, partie 5.</title>
		<link>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie/</link>
		<comments>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 09:35:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Source]]></category>
		<category><![CDATA[jeu flash]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[tweenmax]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=99</guid>
		<description><![CDATA[On arrive au moment où il faut retourner les cartes. Pour ce faire, on va utiliser la libraire TweenMax pour simuler cela. On va jouer sur le scaleX et l&#8217;alpha de la carte. Cela se fait assez simplement avec TweenMax et l&#8217;effet est plutôt pas mal. function fctRetourner( pEvt:MouseEvent ):void { // On verifie qu&#039;il [...]]]></description>
			<content:encoded><![CDATA[<p>On arrive au moment où il faut retourner les cartes. Pour ce faire, on va utiliser la libraire <a title="Classe TweenMax pour faciliter l'utilisation des tweens." href="http://blog.flash-actionscript.com/extension-tweenmax-et-tweenlite-facilitent-la-gestion-des-tween/">TweenMax</a> pour simuler cela. On va jouer sur le scaleX et l&#8217;alpha de la carte. Cela se fait assez simplement avec TweenMax et l&#8217;effet est plutôt pas mal.</p>
<pre class="brush: js">function fctRetourner( pEvt:MouseEvent ):void {
	// On verifie qu&#039;il n&#039;y ait pas deja deux cartes de retournees ou qu&#039;on ne clique pas sur une carte deja retournee
	if ( nbCarteRetournee != 2 &amp;&amp; carteNumero1 != pEvt.target as MovieClip ) {
		// On attribue la carte cliquee
		// A la premiere carte si celle ci est non attribuee
		if ( carteNumero1 == null ) {
			carteNumero1 = MovieClip( pEvt.target ) ;
		}
		// A la deuxiemme si la premiere est deja retournee
		else {
			carteNumero2 = MovieClip( pEvt.target ) ;
		}
		// On cree un effet de retournement de la carte. A la fin de celui-ci on decouvre la couleur
		TweenMax.to( pEvt.target, 0.2, { scaleX:0.1, alpha:0.3, onComplete:fctDecouvrirCarte, onCompleteParams:[ pEvt.target ] } ) ;
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Actionscript 2] Preloader une animation flash</title>
		<link>http://blog.flash-actionscript.com/actionscript-2-preloader-une-animation-flash/</link>
		<comments>http://blog.flash-actionscript.com/actionscript-2-preloader-une-animation-flash/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 16:36:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Actionscript 2]]></category>
		<category><![CDATA[Code Source]]></category>
		<category><![CDATA[Pense bête]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[preloader]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=112</guid>
		<description><![CDATA[Je vous avais fait un article sur le préchargement d&#8217;une animation flash en ActionScript 3. Et dans la continuité de mes articles sur l&#8217;ActionScript 2, voilà comment preloader une animation flash dans ce langage. stop(); var mDate:Date = new Date( ) ; if ( !t &#60; 0 ) { t = mDate.getTime( ) ; } [...]]]></description>
			<content:encoded><![CDATA[<p>Je vous avais fait un article sur le <a title="Preloader une animation flash en actionscript 3" href="http://blog.flash-actionscript.com/actionscript-3-code-pour-preloader-une-animation-flash/">préchargement d&#8217;une animation flash en ActionScript 3</a>. Et dans la continuité de mes <a title="setInterval et clearInterval en flash actionscript" href="http://blog.flash-actionscript.com/actionscript-2-les-fonctions-setinterval-et-clearinterval-pour-creer-un-timer-une-pause-en-flash/">articles sur l&#8217;ActionScript 2</a>, voilà comment preloader une animation flash dans ce langage.</p>
<pre class="brush: js">stop();

var mDate:Date = new Date( ) ;
if ( !t &lt; 0 ) {
	t = mDate.getTime( ) ;
}

var bytesTotal:Number = this.getBytesTotal( ) ;

this.onEnterFrame = function( ) {
	var tauxChargement:Number = this.getBytesLoaded( ) / bytesTotal * 100 ;
	trace( &amp;quot;Chargement : &amp;quot; + Math.round( tauxChargement ) + &amp;quot; %&amp;quot; ) ;
	if ( tauxChargement == 100 ) {
		delete this.onEnterFrame;
		//code a faire une fois le chargement termine.
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/actionscript-2-preloader-une-animation-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Code source] Jeu memory en actionscript 3, partie 4.</title>
		<link>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-4/</link>
		<comments>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-4/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 10:49:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Code Source]]></category>
		<category><![CDATA[jeu flash]]></category>
		<category><![CDATA[memory]]></category>

		<guid isPermaLink="false">http://blog.flash-actionscript.com/?p=95</guid>
		<description><![CDATA[Une part importante du code est de s'assurer qu'il n'y ait pas plus de deux pièces du memory qui aient la même couleur.]]></description>
			<content:encoded><![CDATA[<p>Le jeu de memory qu&#8217;on est en train de réaliser en actionscript prend petit à petit forme. Une part importante du code est de s&#8217;assurer qu&#8217;il n&#8217;y ait pas plus de deux pièces du memory qui aient la même couleur. Avec le code suivant, on retire les couleurs qui ont déjà trouvé leur paire. On retire la couleur du tableau et on fait s&#8217;écrouler les couleurs dans le tableau.</p>
<pre class="brush: js">function fctRedefinirArrTeinteTemp( couleur:String ) {
	var placeCouleurAChanger:Number ;
	nbPairesADefinir-- ;

	for ( var i:int = 0 ; i &lt; arrTeinteTmp.length ; i++ ) {
		if ( arrTeinteTmp[ i ] == couleur || i &amp;lt;= placeCouleurAChanger ) {
			placeCouleurAChanger = i ;
			arrTeinteTmp[ i ] = arrTeinteTmp[ i + 1 ] ;
		}
	}
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.flash-actionscript.com/code-source-jeu-memory-en-actionscript-3-partie-4/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

