Redimmensionner image dans movieclip

Redimmensionner image dans movieclip - Flash/ActionScript - Programmation

Marsh Posté le 30-01-2009 à 18:14:34    

Bonjour,
 
Je suis en train de coder un diaporama en flash et je bloque sur le redimensionnement des images apres les avoir loader via le loadClip
Le truc c'est que je sais que les images doivent etre chargées avant de les redimensionner mais vu je n'y arrive pas.
Je fais une boucle pour afficher les images dans des instance de diaporama...
Je me suis inspiré de ce tuto pour le diaporama mais dans cet exemple les largeur sont fixes ainsi que les hauteurs alors que moi j'aurais des largeurs differentes : http://www.zoneflash.net/tutoriaux/t016.php
 
Merci pour vos conseils,
Michel
 
 
//hauteur d'une image (toujours identique)
hauteur = 240;
espace = 5;
nbr = 4;*
//la largeur peut varier mais je ne sais pas comment la changer
var largeur=320;
 
//je cree mon movieclip mere
this.createEmptyMovieClip("diaporama", 0);
diaporama._y = 2.5;
diaporama._x = 0;
 
tab_photos = new Array();
tab_photos[0] = "essai2.jpg";
tab_photos[1] = "bo.jpg";
 
 
for(var i = 0; i < 2; i++) {
 
 largeurTotale = nbr*(largeur + espace) + espace;
 //trace("l "+largeurTotale);
 var mc = diaporama.createEmptyMovieClip("photo"+i, i);
 mc._x = espace + (largeur + espace)*i;
  //trace("ici x"+mc._x);
 var conteneur:MovieClip = mc.createEmptyMovieClip("container", this.getNextHighestDepth());
 var mclListener:Object = new Object();
 
 mclListener.onLoadInit = function(target_mc:MovieClip):Void  
 {
 largeur2=target_mc._width;
       //ici j'essaye de redimmensionner mon movie clip
 mc._width=largeur;
 
 }
 mclListener.onLoadComplete  = function(target_mc:MovieClip):Void  
 {
  largeur2=target_mc._width;
 }
 var mcl:MovieClipLoader = new MovieClipLoader();
 mcl.addListener(mclListener);
 mcl.loadClip(tab_photos[i], conteneur);
 
 
 mc.nombre = i;
}

Reply

Marsh Posté le 30-01-2009 à 18:14:34   

Reply

Marsh Posté le 01-02-2009 à 23:02:46    

Entre les lignes inutiles et celles qui contredisent les autres, on peut doit nettoyer tout ça !!!
Je repasse sur ton topic demain, là je fatigue !
(sinon, la balise CODE du forum, c'est pas du luxe hein !)


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 03-02-2009 à 04:04:35    

Pour trouver la largeur c'est une regle de 3 :/
On apprend ca en 6e ou meme avant je crois ;)

 

Si monclip._height est reduit a (hauteur = 240)
alors largeur = monclip._width multiplié par etc ...


Message édité par Zedlefou le 03-02-2009 à 04:08:09

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 09-02-2009 à 17:37:00    

pardon de m'etre mal exprimé. Je reprends :
 
Je souhaite creer un diaporama style slide comme l'exemple ci joint :
http://www.zoneflash.net/tutoriaux/t016.php
 
Le probleme dans l'exemple plus haut c'est que les images ont une taille fixe alors que dans mon cas elles seront variable.
 
Je souhaite donc placer les images cote a cote et cela n'est pas possible car dans l'exemple les tailles sont fixes donc il me décales les images.
 
voila si je me suis mal exprimé maintenant c'est plus clair.
 
hauteur = 240;
espace = 5;
nbr = 5;
var largeur=320;
var cpt;
var largeur2;
 
 
this.createEmptyMovieClip("diaporama", 0);
diaporama._y = 2.5;
diaporama._x = 0;
 
tab_photos = new Array();
tab_photos[0] = "J:/EasyPHP 2.0b1/www/studio/essai2.jpg";
tab_photos[1] = "J:/EasyPHP 2.0b1/www/studio/bo.jpg";
tab_photos[2] = "J:/EasyPHP 2.0b1/www/studio/essai.jpg";
tab_photos[3] = "J:/EasyPHP 2.0b1/www/studio/bo2.jpg";
 
 
 
for(var i = 0; i < nbr; i++) {
 
//ici il définit une largeur totale mais je voudrais qu'elle soit recalculé apres le loadinit
 largeurTotale = nbr*(largeur + espace) + espace;
 var mc = diaporama.createEmptyMovieClip("photo"+i, i);
//il place les images en fonction de tailles fixes et moi je voudrais que le x s'adapte a la taille de l'image
 mc._x = espace + (largeur + espace)*i;
 var conteneur:MovieClip = mc.createEmptyMovieClip("container", this.getNextHighestDepth());
 var mclListener:Object = new Object();
 var mcl:MovieClipLoader = new MovieClipLoader();
 mcl.addListener(mclListener);
 mcl.loadClip(tab_photos[i], conteneur);
 
 mclListener.onLoadInit = function(target_mc:MovieClip):Void  
 {
 largeur2=target_mc._width;
 trace(largeur2+" Init "+target_mc+' conteneur._width '+conteneur._width+' la2 '+mc._width+" cont : "+conteneur+" x : "+target_mc._x);
 };
 
}
 
onMouseMove = function() {
diaporama._x = (600 - largeurTotale)/600*_xmouse;
}
 

Reply

Marsh Posté le 10-02-2009 à 04:20:26    

Ce que tu dois faire c'est :
- charger toutes tes images
- les redimensionner en hauteur 240 et recuperer la largeur obtenue
- additionner toutes les largeurs pour obtenir celle totale
- la ou il place les images en fonction de tailles fixes, au lieu d'utiliser la variable "largeur", tu utilises la largeur du clip precedent
 
Et voila, crac boum pif c'est réglé.


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed