Redimmensionner image dans movieclip - Flash/ActionScript - Programmation
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 !)
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 ...
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] = "JEasyPHP 2.0b1/www/studio/essai2.jpg";
tab_photos[1] = "JEasyPHP 2.0b1/www/studio/bo.jpg";
tab_photos[2] = "JEasyPHP 2.0b1/www/studio/essai.jpg";
tab_photos[3] = "JEasyPHP 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;
}
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é.
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;
}