begin process at 2012 05 26 15:49:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Flash / Flash MX

 > 

Base de données

 > 

XML

 > 

[AS3] Control d'images après chargement dynamique


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[AS3] Control d'images après chargement dynamique

mardi 6 avril 2010 à 19:28:13 | [AS3] Control d'images après chargement dynamique

Kifriz

Bonjour !

J'ai fait un paquet de recherches sur ce sujet abordé et ré-abordé, sans toutefois trouver la solution à mon problème.

Je charge des images par un xml en flash AS3. Pas de souci, je peux les afficher, les placer, et leur appliquer un scale "générique" (le même pour toutes). Je souhaite récupérer les dimensions de chacune d'entre elles (entre autres pour adapter le scale suivant la taille de l'image et les placer correctement dans ma scène).

Je me heurte au problème suivant : dans ma boucle "for each" qui parse mon xml, j'ajoute un écouteur pour m'assurer que l'image est chargée. Dans la fonction onComplete alors lancée, je trace le nom du fichier chargé : seul le nom du dernier fichier chargé est affiché, et ce autant de fois qu'il y a d'images. J'ajoute également dans la boucle un écouteur pour faire du drag, le drag ne marche que sur le dernier fichier chargé.

J'ai dû louper quelque chose : pour moi, à chaque passage de la boucle, on charge une image, lance la fonction : onComplete et rend l'image déplaçable (ne marche pas non plus en mettant l'écouteur du drag dans onComplete).

Qu'est-ce que j'ai loupé ? Peut-on récupérer les dimensions de chaque image chargée sans le renseigner dans le xml ?

D'avance merci pour votre aide !
(je suis preneur de référence de topic si cette question a déjà été résolue et que je suis malheureusement passé à côté :)

//
Voici mon fichierImages.xml :
Code XML :
<imagesVehicules>

<image>image1.png</image>
<image>image2.png</image>
<image>image3.png</image>


</imagesTests>


en sortie :

Fichier image3.png chargé
Fichier image3.png chargé
Fichier image3.png chargé

Et mon code AS3 :

Code ActionScript :

var xmlURL:URLRequest = new URLRequest("fichierImages.xml");
var xmlLoader:URLLoader = new URLLoader(xmlURL);
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
var vignette_mc:smallContainer; //MovieClip créé dans la bibliothèque, petit rectangle plein illustrant une vignette standard, classe exportée pour l'Actionscipt
var i:Number = 0;


function xmlLoaded(event:Event):void
{
	//Chargement du fichier XML
	var dataXML = XML(event.target.data);
	var imagesVehicules:XMLList = dataXML.elements();
	
	//Chargement image par image et affichage 
	for each(var image:XML in imagesTests)
	{
		vignette_mc = new smallContainer; //création d'une vignette standard
		vignette_mc.x = 50 + i*150;
		vignette_mc.y = 50 + i*50;
		addChild(vignette_mc);
		var imageRequest:URLRequest = new URLRequest(image);
		var imageLoader:Loader = new Loader();
		imageLoader.load(imageRequest);
		vignette_mc.addChild(imageLoader); //import dans le MovieClip, pour voir si plus flexible que le DisplayObject -- sans succès
		vignette_mc.scaleX = vignette_mc.scaleY = 0.5; //scale générique qui s'applique bien à chaque vignette
		imageLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
		vignette_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStart);
		vignette_mc.addEventListener(MouseEvent.MOUSE_UP, dragStop);
		i++;
		
		function onComplete(event:Event):void
		{
			trace("Fichier " + image + " chargé");
		}
	}
}


function dragStart(MouseEvent):void
{
	vignette_mc.startDrag();
}
	
function dragStop(MouseEvent):void
{
	vignette_mc.stopDrag();
}	



mardi 6 avril 2010 à 21:08:06 | Re : [AS3] Control d'images après chargement dynamique

Orange73

Membre Club
Réponse acceptée !
Hello,

dans ta fonction onComplete() tu perds automatiquement l'incrementation (boucle). Il faut donc recuperer le contenu du Loader :

Code ActionScript :
function onComplete(event:Event):void
{
     trace("Fichier " + event.content + " chargé");
}


De même pour tes drags :

Code ActionScript :
function dragStart(MouseEvent):void
{
	event.currentTarget.startDrag();
}
	
function dragStop(MouseEvent):void
{
	event.currentTarget.stopDrag();
}



A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
mercredi 7 avril 2010 à 12:42:14 | Re : [AS3] Control d'images après chargement dynamique

Kifriz

Bonjour,
Merci pour ta réponse !
C'est très clair, et ça marche :)

Bye !


Cette discussion est classée dans : image, var, mc, xml, vignette


Répondre à ce message

Sujets en rapport avec ce message

Dupliquer MC sur 2 colonnes ? [ par badoux ] Bonjour, Je souhaiterai dupliquer mes mc su deux colonnes, pour ça j'ai fais ce script ci-dessous qui fonctionne très bien, jusqu'au moment de lui di preload entiérement en AS [ par philoumg ] Bonjour,Peut on créer un preload uniquement en actionscript ?J'explique mon besoin:Je travaille sur une galerie d'image. Cette galerie est composé d'u Adapter l'image externe.xml au cadre du MC [ par CMS_1203 ] Salut alors j'ai fait à l'aide d'un tutos un diaporama avec chargement d'images externe img.xml ...J'ai réussi à le mettre sur mon site avec mes conna Adapter l'image externe.xml au cadre du MC [ par CMS_1203 ] Salut alors j'ai fait à l'aide d'un tutos un diaporama avec chargement d'images externe img.xml ...J'ai réussi à le mettre sur mon site avec mes conna recupérer la taille d'une image chargé dans un xml [ par attentio ] Bonjour,j'ai une image que je recupere dans un xml. tout marche bien... mais je voudrais centrer cette image (qui  peut etre d'une taille variable) et Annuler Preload image [ par Antineus ] Bonjour à tous !Voilà, je suis en train de créer un preloader pour des images. Le but de ce préloader est tout simplement d'afficher la progression du probleme de lien d'une image tiré d'un xml [ par scoubydog ] Bonjour, je suis en train de faire une galerie de photos et mon problème est que le code qui me permet de transformer chaque image miniature en bouton Ajouter du texte depuis mon xml dans loadClip..; au secours [ par barytonlyrique ] Bonsoir à tous...Je débute en Flash et je souhaite créer une pellicule qui affiche toutes mes images par mon xml et qui navigue droite/gauche selon la Redimensionné images charger a partir d'un XML [ par ArC3Nik ] Bonjour Voila je souhaite afficher sur un site les dernière meilleur vente dans un flash. Les information sont stocké dans un fichier xml. Je commen


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,187 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales