IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash/Flex Discussion :

SWFAddress et site Flash


Sujet :

Flash/Flex

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1
    Points : 1
    Points
    1
    Par défaut SWFAddress et site Flash
    Novice en flash (code), je travaille depuis 1 mois et demi sur mon site. Oui c'est long, mais je découvre et essaie de faire les choses dans les règles.

    Là où je bloque c'est sur le SWFAddress. Je voudrais deux choses :
    Que la barre d'adresse s'actualise en fonction de la partie sélectionnée dans le menu (mon trace affiche le bon resultat à chaque click).
    Que je puisse utiliser les fleches du navigateur (préc / suiv).

    J'ai tout codé via des tutos pour obtenir ceci. Je suis plutôt sûr de mon code, les fichiers js et as du swfaddress sont à la bonne place. Et pourtant ça ne marche pas. Alors oui il y a un problème. MAis lequel ?
    Voici le code de mon menu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    package fr.noe.dvd.menu
    {
    	import com.asual.swfaddress.SWFAddress;
    	import com.asual.swfaddress.SWFAddressEvent;
    	import com.greensock.TweenMax;
    	import com.greensock.easing.Quad;
     
    	import flash.display.DisplayObject;
    	import flash.display.MovieClip;
    	import flash.display.Sprite;
    	import flash.events.Event;
    	import flash.events.MouseEvent;
    	import flash.net.URLLoader;
    	import flash.net.URLRequest;
    	import flash.net.navigateToURL;
    	import flash.utils.Dictionary;
    	import flash.utils.setTimeout;
     
    	import fr.noe.dvd.menu.MenuEvent;
    	import fr.noe.dvd.menu.MenuItem;
     
    	[Event(name="menuChange", type="fr.noe.dvd.menu.MenuEvent")]
     
    	public class Menu extends MovieClip
    	{
    		public var MenuMask:MovieClip;
    		public var menuTexture:MovieClip;
     
    		private var xmlLoader:URLLoader;
    		private var xmlData:XML;
    		//private var menuItems:Array;
     
    		private var currentItem:MenuItem;
    		public function Menu()
    		{
    			init()
    		}
     
    		private function init():void
    		{
     
    			menuTexture.mask = MenuMask;
     
    			xmlLoader = new URLLoader();
    			xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete );
    			xmlLoader.load( new URLRequest( 'data/xml/menu.xml' ) );
    		}
     
    		private function onXMLLoadComplete( event:Event = null ):void
    		{
    			xmlData = new XML( xmlLoader.data );
    			var items:XMLList = xmlData.item;
    			var n:int = items.length();
    			var mi:MenuItem;
     
    			while( n-- )
    			{
    				mi = new MenuItem( items[n] );
    				mi.y = n * MenuItem.ITEM_HEIGHT;
    				addChild( mi );
    			}
     
    			addEventListener( MouseEvent.CLICK, onClick );
     
    			var path:String = SWFAddress.getPath();
    			if ( path.length < 2 )
    			{
    				selectID( items[0].@uid );
    			}
     
    			SWFAddress.addEventListener( SWFAddressEvent.EXTERNAL_CHANGE, onSWFAddressChange );
    		}
     
    		private function onClick( event:MouseEvent = null ):void
    		{
    			if ( event.target is MenuItem && currentItem != event.target )
    			{
     
    				if ( currentItem ) currentItem.selected = false;
     
    				selectItem( MenuItem( event.target ) );
    				SWFAddress.setValue( currentItem.id );
    			}
    		}
     
    		private function onSWFAddressChange( event:SWFAddressEvent ):void
    		{
    			if ( event.pathNames.length )
    			{
     
    				var nid:String = event.pathNames[0];
     
    				if ( !currentItem || currentItem.id != nid )
    				{
    					selectID( nid );
    				}
    			}
    		}
     
    		private function selectID( nid:String ):void
    		{
    			var n:int = numChildren;
    			var d:DisplayObject;
    			while( n-- )
    			{
    				d = getChildAt( n );
    				if ( d is MenuItem && MenuItem(d).id == nid )
    				{
    					selectItem( MenuItem(d) );
    					break;
    				}
    			}
    		}
     
    		private function selectItem( ni:MenuItem ):void
    		{
    			if ( currentItem ) currentItem.selected = false;
     
    			currentItem = ni;
    			currentItem.selected = true;
    			TweenMax.to( MenuMask, .4, { y: currentItem.y, ease: Quad.easeOut } );
     
    			dispatchEvent( new MenuEvent( currentItem.id ) );
     
     
    		}
    	}
    }


    Mon MenuEvent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    package fr.noe.dvd.menu
    {
    	import flash.events.Event;
    	import fr.noe.dvd.menu.MenuItem;
    	import fr.noe.dvd.menu.Menu;
     
     
    	public class MenuEvent extends Event
    	{
    		public static const MENU_CHANGE:String = 'menuChange';
     
    		public var itemID:String;
     
    		public function MenuEvent( id:String, type:String = 'menuChange', bubbles:Boolean=false, cancelable:Boolean=false)
    		{
    			itemID = id;
    			super(type, bubbles, cancelable);
    		}
    	}
    }


    Au cas où, mon MenuItem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    package fr.noe.dvd.menu
    {
     
    	import com.greensock.TweenMax;
    	import com.greensock.easing.Quad;
    	import com.asual.swfaddress.SWFAddress;
    	import com.asual.swfaddress.SWFAddressEvent;
     
    	import fr.noe.dvd.menu.MenuEvent;
     
    	import flash.display.Sprite;
    	import flash.events.Event;
    	import flash.events.MouseEvent;
    	import flash.text.TextField;
    	import flash.text.TextFormat;
    	import flash.text.TextFormatAlign;
     
    	public class MenuItem extends Sprite
    	{
    		public static var ITEM_WIDTH:int = 150;
    		public static var ITEM_HEIGHT:int = 24;
     
    		public var source:XML;
    		private var field:TextField
    		private var _selected:Boolean;
     
    		public function MenuItem( src:XML )
    		{
    			source = src;
    			init();
    		}
     
    		private function init( ):void
    		{
    			mouseChildren = false;
    			buttonMode = true;
    			selected = false;
     
    			field = new TextField();
    			field.width = ITEM_WIDTH;
    			field.height = ITEM_HEIGHT;
    			field.selectable = false;
    			field.embedFonts = true;
    			field.defaultTextFormat = new TextFormat( 'Caviar Dreams', 20, 0xffffff, false, false, false, '', '', TextFormatAlign.RIGHT, 0, 4 );
    			field.text = source;
    			addChild( field );
     
    			addEventListener( MouseEvent.ROLL_OVER, onRollOver );
    			addEventListener( MouseEvent.ROLL_OUT, onRollOut );
    		}
     
    		private function onRollOver( event:MouseEvent = null ):void
    		{
    			if ( !_selected ) TweenMax.to( this, .2, { tint:0xff0000 } );
    		}
     
    		private function onRollOut( event:MouseEvent = null ):void
    		{
    			if ( !_selected ) TweenMax.to( this, .45, {removeTint:true } );
    		}
     
    		public function get id():String
    		{
    			return source.@uid;
    		}
     
    		public function set selected( v:Boolean ):void
    		{
    			if ( v )
    			{
    				_selected = true;
    				buttonMode = false;
    				mouseEnabled = false;
    				TweenMax.to( this, .6, { tint:0x000000} );
     
    			}
    			else
    			{
    				_selected = false;
    				buttonMode = true;
    				mouseEnabled = true;
    				onRollOut();
    			}
    		}
    	}
    }

    Et tant que j'y suis, ma page :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    package fr.noe.dvd
    {
    	import com.greensock.TweenMax;
    	import com.greensock.easing.Quad;
    	import com.asual.swfaddress.SWFAddress;
    	import com.asual.swfaddress.SWFAddressEvent;
     
    	import flash.display.DisplayObject;
    	import flash.display.MovieClip;
    	import flash.events.Event;
     
    	import fr.noe.dvd.menu.Menu;
    	import fr.noe.dvd.menu.MenuEvent;
     
    	public class Noetevisdub extends MovieClip
    	{
    		public var navig:MovieClip;
    		public var fond01:MovieClip;
    		public var fond02:MovieClip;
    		public var fond03:MovieClip;
    		public var codeV:MovieClip;
    		public var codeH:MovieClip;
    		public var mec:MovieClip;
    		public var bas_mec:MovieClip;
    		public var real:MovieClip;
    		public var texte:MovieClip;
    		public var menu:Menu;
     
    		public function Noetevisdub()
    		{	
    			if (stage ) init();
    			else addEventListener( Event.ADDED_TO_STAGE, init);
    		}
     
    		private function init( event:Event = null ):void
    		{	
    			removeEventListener( Event.ADDED_TO_STAGE, init );
     
    			var n:int = numChildren;
    			var d:DisplayObject;
    			for( var i:int = 0; i < n; i++)
    			{
    				d = getChildAt(i);
     
    				switch( d )
    				{
    					case fond03:
    						TweenMax.from( d, 1, { alpha: 0, x: +d.width, ease: Quad.easeOut } );
    						break;
     
    					case fond01:
    						TweenMax.from( d, .5, { alpha: 0, x: -d.width, delay: .5, ease: Quad.easeOut } );
    						break;
     
    					case fond02:
    						TweenMax.from( d, .5, { alpha: 0, x: -d.width, delay: .5, ease: Quad.easeOut } );
    						break;
     
    					case navig:
    					case menu:
    						TweenMax.from( d, 3, { alpha: 0, delay: 1, ease: Quad.easeOut } );
    						break;
     
    					case codeV:
    						TweenMax.from( d, .5, { alpha: 0, delay: 2, ease: Quad.easeOut } );
    						break;
     
    					case codeH:
    						TweenMax.from( d, .5, { alpha: 0, delay: 2.5, ease: Quad.easeOut } );
    						break;
     
    					case mec:
    						TweenMax.from( d, 2, { alpha: 0, x: -d.width, delay: 1, ease: Quad.easeOut } );
    						break;
     
    					case bas_mec:
    						TweenMax.from( d, 1, { alpha: 0, x: -d.width, delay: 2, ease: Quad.easeOut } );
    						break;
     
    					case real:
    						TweenMax.from( d, .5, { alpha: 0, delay: 1.5, ease: Quad.easeOut } );
    						break;
     
    					case texte:
    						TweenMax.from( d, 2, { alpha: 0, delay: 2, ease: Quad.easeOut } );
    						break;
     
     
     
    					default :
    						TweenMax.from( d, .4, { alpha: 0, y: -d.height, delay: .2*i, ease: Quad.easeOut } );
    						break;
    				}
     
    			}
     
    			menu.addEventListener( MenuEvent.MENU_CHANGE, onMenuChange );
    		}
     
    		private function onMenuChange( event:MenuEvent ):void
    		{
    			trace( event.itemID );
    		}
     
    	}
    }

    Je suis désolé d'arriver et de vous bombarder de code, mais c'est vraiment la solution de la dernière chance, je suis perdu depuis 2 semaines sur ce problème.

  2. #2
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Pour utiliser SWFAddress, j'ai régidé un tutoriel avec le code source.
    Je t'invite à le consulter : Utiliser SWFAddress
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    J'ai exactement le même problème...

    Quand je teste en offline, le swfadress marche bien ( changement url, back/forward boutons) mais des que je teste sous wamp ou sur mon serveur ovh rien ne marche. Comme si le javascript n'était jamais appelé...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	<head>
    		<title>Mon site</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<script type="text/javascript" src="js/swfobject.js"></script>
    		<script type="text/javascript" src="js/SWFAddress.js"></script>
    		<script type="text/javascript">
    			var flashvars = {};
    			var params = {};
    			params.allowscriptaccess = "always"; 
    			var attributes = {}; attributes.id = "site";
    			swfobject.embedSWF("preloader.swf", "myAlternativeContent", "100%", "100%", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
    		</script>
    	</head>
    j'ai tout vérifié, il me semble, seules me restent les choses auxquelles je n'ai pas pensé... ET puis ca marche parfaitement offline 8|!!!!!

    pleaz help!

    Merci

  4. #4
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Bonjour,

    Est ce que tu as créé le fichier .htaccess correspondant ?
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    non effectivement... J'ai essayé de le mettre en place en suivant les consignes des tutos, mais cela ne marchait pas mieux... Je me suis surement trompée

    j'ai un htaccess/htpassword préexistant qui me permet de contrôler les venues sur mon site.
    Que dois-je y rajouter pour que le swfadress fonctionne?

  6. #6
    Rédacteur

    Avatar de The_Pretender
    Homme Profil pro
    Formateur Développement / Programmation
    Inscrit en
    Juin 2004
    Messages
    739
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Formateur Développement / Programmation
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2004
    Messages : 739
    Points : 4 673
    Points
    4 673
    Par défaut
    Il suffit de suivre pas à pas ce tutoriel sur SWFaddress.

    Exemple de fichier .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    # le répertoire de base pour SWFAddress
    RewriteBase  /ressources
     
    RewriteCond  %{REQUEST_FILENAME}    !-f
    RewriteCond  %{REQUEST_FILENAME}    !-d
    # le nom de votre fichier php qui affiche le flash avec swfaddress et swfobject
    RewriteRule  .*                     swfaddress_exemple.php
    Réclamez La Méthode Développement Facile pour Créer Rapidement des Applications Performantes sur Mobiles et Ordinateurs : Développement Facile

    Développez des Applications Web Performantes avec la Formation Vidéos Developpez : Programmation Facile

    Découvrez : Tutoriels, ressources AS2 et AS3

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    c'est bon j'ai réglé mon problème... Apparemment, il faut bien faire attention à ne pas passer dans le setValue() une chaine de caractère avec des majuscules! Bizarre mais bon, une fois cela fait le swfAddress marchait très bien!

    Par contre je me suis attelée au SEO, j'ai essayé de mettre en place le système du tuto, ça ne marchait pas et j'ai essayé de me débrouiller toute seule. Je suis arrivé au résultat escompté mais je me demande si ma méthode est véritablement optimisée.
    Je ne serai pas contre un petit avis

    1) Mise en place du swfAddress dans le flash
    2) Intégration du site Flash dans une page index.php grace au SWFObject
    3) Ajout dans le htaccess d'une récriture d'url :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    # le répertoire de base pour SWFAddress
    RewriteBase  /ressources
     
    RewriteCond  %{REQUEST_FILENAME}    !-f
    RewriteCond  %{REQUEST_FILENAME}    !-d
    # le nom de votre fichier php qui affiche le flash avec swfaddress et swfobject
    RewriteRule  .*                     index.php
    4) Création du robots.txt qui renvoie sur un sitemap.xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
       <url>
          <loc>http://www.monsite.fr/page1</loc>
          <changefreq>monthly</changefreq>
          <priority>0.5</priority>
       </url>
       <url>
          <loc>http://www.monsite.fr/page2</loc>
          <changefreq>monthly</changefreq>
          <priority>0.5</priority>
       </url>
       <url>
          <loc>http://www.monsite.fr/page3</loc>
          <changefreq>monthly</changefreq>
          <priority>0.8</priority>
       </url>
       <url>
          <loc>http://www.monsite.fr/page4</loc>
          <changefreq>monthly</changefreq>
          <priority>0.2</priority>
       </url>
    </urlset>
    5) une mise a jour dynamique de mon contenu alternatif de index.php en PHP.

    6) une détection du User Agent en PHP qui me permet de modifier l'url de la page en javascript, si je n'ai pas a faire au bot google.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    $ua = $_SERVER['HTTP_USER_AGENT'];
    		if (strpos($ua, "Googlebot/2.1") == false)
    		{
    			echo '<script type="text/javascript">
    			var _protocol = window.location.protocol;
    			var _host = window.location.host;
    			var _pathname = window.location.pathname
    			var curl = document.URL;
    			var section = _pathname.replace("/", "");
    			if ( curl.indexOf("#") < 0)
    			{
    			var _url = _protocol + "//" + _host + "/#/" + section;
    			window.location.replace(_url);
    			}
    			</script>';
    		}
    Ce petit script me permet de tranformer un http://www.monsite.fr/page1 (cf sitemap.xml) en http://www.monsite.fr/#/page1, si ce n'est pas le googlebot qui essaie d'accéder à mon site. Ainsi flash et swfaddress fonction très bien.

    Je ne sais pas cependant si cette méthode peut me poser des problème pour le référencement. Je sais que le googleBot n'aime pas "window.location.replace" mais celui-ci n'est pas censé apparaitre si c'est le bot qui visualise la page...

    Qu'en pensez-vous?

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut probleme SWFAddress
    bonjour

    Androide777 j'ai le même problème que toi et je n'ai pas compris comment tu avais résolu le problème par rapport a ton setValue et a sa chaine de caractère.

    merci pour l'aide

Discussions similaires

  1. Votre avis sur 1er "site flash"
    Par jmv71 dans le forum Mon site
    Réponses: 27
    Dernier message: 05/08/2006, 12h12
  2. [FLASH MX2004] Comment referencer son site flash
    Par pierrot10 dans le forum Flash
    Réponses: 4
    Dernier message: 03/05/2006, 11h22
  3. Tarifs site Flash / BDD / SSL
    Par betaphp dans le forum Devis
    Réponses: 12
    Dernier message: 11/02/2006, 14h05
  4. Débutant : architecture de mon site flash.
    Par Jazzy Troll dans le forum Flash
    Réponses: 3
    Dernier message: 12/01/2004, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo