Problème redimensionnement image apres chargement externe

matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010 - 22 janv. 2010 à 18:01
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010 - 23 janv. 2010 à 20:00
Bonsoir!!
Voici mon soucis: j'aimerais pouvoir redimensionner mon image après l'avoir chargé mais il ne se passe rien lorsque je fais ceci:

var conteneurImage:Loader = new Loader(); 
 
var image:URLRequest = new URLRequest("av1.png"); 

conteneurImage.load(image); 

this.addChild(conteneurImage);

conteneurImage.width = 50;


Merci d'avance pour votre aide

39 réponses

matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 12:46
Ben oui mais mon soucis justement c'est que si je fais ca, mon image disparait :D
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 12:49
c'est à dire ?

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 12:49
Si j'enleve ma boucle et que j'ai quelquechose de cette forme ci :

var conteneurImage:Loader = new Loader(); 

var image:URLRequest = new URLRequest("av1.png"); 

conteneurImage.load(image); 

this.addChild(conteneurImage); 

conteneurImage.width = 60;
conteneurImage.scaleY = conteneurImage.scaleX;


et bien si je fais ça mon image disparait
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:04
C'est grave docteur?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 13:07
tu n'attends pas que ton image soit chargée ... un loader à la base fait 0x0 donc 60px de rien = 0 => scaleY = 0 ....

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:09
Mdrrr oui ca revient à ce que tu m'as dit au début mais je ne vois pas comment faire alors :D comment j'attends que mon loader soit chargé? Je peux pas le stocker dans un truc une fois chargé pour que je puisse le redimensionner par la suite? T'as pas un petit exo?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 13:16
sur la doc de flash (cherche un minimum tout seul, tu verras in apprends 2 fois plus !)

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:34
Dac

Juste une petite question :

Lorsque je fais par exemple : image[i]:Loader il me met une erreur alors que si je fais image:Loader cela marche, comment ca se fait? y'a une façon speciale ?
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:41
Voila ce que j'ai :
import flash.display.*; 
import flash.net.URLRequest; 
import flash.events.Event; 
var container:Sprite = new Sprite(); 
addChild(container); 
var pictLdr:Loader = new Loader(); 
var pictURL:String = "av1.png" 
var pictURLReq:URLRequest = new URLRequest(pictURL); 
pictLdr.load(pictURLReq); 
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);  
function imgLoaded(event:Event):void 
{ 
    container.addChild(pictLdr.content);  
container.width = 50;
}


Là en effet l'image se redimensionne bien mais dès que je le met en dehors de la fonction l'image disparait

Je sature ca fait 2 jours que je cherche la solution

T'as pas un petit indice stp pour m'eviter le suicide?
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:46
Enfait si je comprends bien ce script une fois l'image chargée il la copie dans le conteneur appelé ici "container" c'est bien ça? Alors pourquoi quand je veux redimensionner ce conteneur par la suite cela ne marche pas alors que l'image à bien etait chargée vu qu'elle a etait transférée dedans non?
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 13:50
en fait, tu attends que je t'explique comment utiliser un loader, c'est bien ça ?

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 13:52
J'aimerais bien un bon indice qui m'aiderais à régler mon probleme oui si ça ne te dérange pas
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 13:56
donc à quel moment veux-tu la redimensionner ton image ?

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 14:02
Merciiii :D Alors enfait ce que je voudrais faire c'est:

1) Charger l'image :

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

var pictLdr:Loader = new Loader();
var pictURLReq:URLRequest = new URLRequest("av1.png");
pictLdr.load(pictURLReq);
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded);

2) Une fois chargée la stocker dans "container" par exemple :

function imgLoaded(event:Event):void
{
container.addChild(pictLdr.content);
}

3) Maintenant imaginons que dans un premier temps je veuille l'afficher aux coordonnées (20,40) avec une largeur de 140px et par la suite l'afficher aux coordonnées (30,50) avec une largeur de 60px. C'est là que je bloque

Merci d'avance pour ton aide et ta patience
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 14:03
ok, mais "par la suite" quand ? sous quelles conditions ? à quelle moment précis ?

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 14:08
Enfait mon but est le suivant :

Je veux une image centrale qui fasse par exemple 120px de large et deux autre de chaque coté plus petites de 80px par exemple.

Lorsque je cliquerai sur un bouton je voudrais que l'image du milieu se deplace et prenne la place de l'autre image plus petite (d'où le redimensionnement nécessaire). En gros l'action serait provoqué par le clique sur le bouton, voila
0
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
23 janv. 2010 à 14:15
ben tu places tes évènements au clic bouton, tout simplement ... là je ne vois pas où est la difficulté.

Peg'
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 18:21
Donc je dois recharger une nouvelle image a chaque fois que je veux la redimensionner c'est bien ca? Donc si je veux charger 3x la même image je devrais refaire toutes ces etapes 3x c'est bien ca?
0
matthmuc72 Messages postés 31 Date d'inscription samedi 19 mars 2005 Statut Membre Dernière intervention 24 janvier 2010
23 janv. 2010 à 20:00
C'est bon je vois comment je peux faire, j'ai juste une question: comment faire passer une variable dans la fonction imgLoaded?

du genre :
pictLdr.contentLoaderInfo.addEventListener(Event.COMPLETE, imgLoaded('',largeur)); 

function imgLoaded(event:Event,largeur):void 
{ 
container.addChild(pictLdr.content); 
container.width = largeur;
}


Je sais que ca ne marche pas mais y doit bien y avoir une façon non? :D

Ce sera ma dernière question, merci d'avance
0
Rejoignez-nous