Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : pb de progressbar [ Scripts / ActionScript ] (lespaulz)

lundi 26 mars 2007 à 22:30:20 | pb de progressbar

lespaulz

Bonjour,

Afin de progresser en AS.
Je suis en train d'essayer de mettre en place une galerie photo.
Ceci m'a permis de comprendre la manipulation des MovieClip ainsi que la tehnique des écouteurs.

La technique que j'ai gardé et que j'emploi est celle-ci.
Une boucle d'itération que me permet de créer des emptyMovieClip() dans lesquels je charge une photo.

Voici le code:

#include "resize.as"    //fichier qui contient ma fonction de resize avec ratio
XStart = 10; //Position X de départ de la premiere image
XSpace = 10; //Espacement images

for (var i=1; i<5; i++){
  
var container:MovieClip = this.createEmptyMovieClip("container_"+i, this.getNextHighestDepth());
var chargeur:MovieClipLoader = new MovieClipLoader();
container._lockroot = true;   
Ecouteur = new Object();                           
chargeur.addListener(Ecouteur);   
chargeur.loadClip("http://www.site.com/photos/1134571328.jpg", container); //
if (i==1){
    container._x = XStart;
}
else
{
    container._x = 80* (i-1) + XSpace;
}
var Percent = (80/Math.max(container._height, container._width))*100;

Ecouteur.onLoadComplete = function (cible){
    var loadProgress = chargeur.getProgress(cible);
}

Ecouteur.onLoadInit = function (cible){
    Resize(cible._x,11,cible,80); 
}

Ecouteur.onLoadError = function (cible, Erreur){
    //trace("erreur :"+ Erreur);
}
}

Maintenant pour styliser le tout, j'aimerais rajouter une progressBar pour chaque MovieClip que le load.

Et m'a question est donc:
Comment faire ?

Dois-je dupliquer mon symbol "progressbar" dans ma bibliothèque.
Ou alors ma technique n'est pas bonne.
Poutant j'arrive a tracer la progression de télchargement de photo grace a mes écouteurs .

Qu'elle la meilleur solution.

Merci.

Ni dieu Ni Maitre

mardi 27 mars 2007 à 20:22:45 | Re : pb de progressbar

_benjy

Salut

En effet t'es sur la bonne voie, est OUI il faut que tu duplique une progressbar, mais pas dans la bibliotheque, tu vas le faire par l'AS (comme quand tu créer des clip vide)
Avant tout, une p'tite erreur, il faut que tu crée 1 ecouteur pour chaque chargement (donc a créer dans la boucle)
Le plus simple pour commencer c'est de te faire une progressbar
Donc tu te créer un clip (une barre) et tu fais une liaison pour AS (click droit sur le clip dans la bibliotheque > liaison > cocher "exporter pour as" et mettre un nom de liaison, "
ProgressBar" pour l'exemple )
Ensuite dans ton code quand tu créer un containeur, en mm temps tu attache a la scene ton clip "ProgressBar".
Le plus simple étant de voir j'ai fait un p'tit Fla pour tester, et voilà le code :

for (var i:Number = 3; i <= 4; i++){
    var container:MovieClip = this.createEmptyMovieClip("container"+i,this.getNextHighestDepth());
    var progress:MovieClip = this.attachMovie("ProgressBar","Progress"+i,this.getNextHighestDepth());
    var y:Number = (i-3)*200;
    container._y = progress._y = y;
    var listener:Object = new Object();
    listener.progressLoader = progress;
    listener.onLoadStart = function(target:MovieClip){
        trace (target._name+" start loading");
        this.progressLoader._visible = true;
        this.progressLoader._xscale = 0;
    }
    listener.onLoadProgress = function(target:MovieClip,loaded:Number,total:Number){
        var pc:Number = loaded*100/total;
        trace (target._name+" "+Math.round(pc)+"% loaded");
        this.progressLoader._xscale = pc;
    }
    listener.onLoadComplete = function(target:MovieClip){
        trace (target._name+" is loaded");
        this.progressLoader._visible = false;
    }
    listener.onLoadInit = function(target:MovieClip){
        trace (target._name+" ready for use");
    }
    var loader:MovieClipLoader = new MovieClipLoader();
    loader.addListener(listener);
    var src:String = "http://composants.kolapsis.net/images/ki"+i+".jpg?nocache="+random(99999);
    loader.loadClip(src,container);
}


et là ca roule ;)
j'te souhaite bon courage
++

Flash sans Limites
_Benjy   chez kOlapsis



Cette discussion est classé dans : var, cible, progressbar, container, ecouteur


Répondre à ce message

Sujets en rapport avec ce message

gallerie image [ par moveslang ] Bonjour tout le monde, un petit problème avec un tuto que j'ai choppé je ne sais plus où. il s'agit de réaliser une gallerie photo. j'essaie de modifi images aléatoires non répétées [ par marmel ] Salut à tous, J'ai consulté les codes pour faire des images aléatoires non répétées mais j'ai toujours un problème pour charger ma 2eme image. Il me PB: FileReference [ par SoyYo ] Bonjour a tousJe viens de me mettre a Flash 8 (version d'essai pour l'instant) histoire de voir les nouveaux composants et surtout le FileReference qu Ajouter du reflet sur un objet plane style carrousel [ par Alex001 ] Bonjour à tous, Je code actuellement un site en flash AS3. Avec l'aide de plusieurs sources j'ai fini par créer des planes qui charges des images a p probleme lors Creation d'une galerie avec Clip imbriqué sous as3 [ par martin8fr ] var imageLoader:Loader;var xml:XML;var xmlList:XMLList;var xmlLoader:URLLoader = new URLLoader();var container:MovieClip;var cadre:Cadre = new Cadre() Probleme avec le survol d une animation [ par ohcapitaine ] Bonjour a tous !Voila, je bloque un peu concernant une petite animation que je veux effectuer avec actionScript 3.Mon animation consiste en un carre c Loadmovie [ par godak ] Bonjour a tous, il y a queslques temps j'ai glané des infos sur le loadmovie : var container:MovieClip = this.createEmptyMovieClip("container", thi compteur pour de faux [ par vincentduceau ] bonjour à tous je souhaiterais juste faire un compteur pour de faux qui toute les 500 ms compte pour aller jusqu'à cent avec l'affichage d'un texte. g NavigatetoURL ???? [ par musiman ] Voila mon code ActionScript var url:String = "http://blog.la-recette.net/" ; var variables:URLVariables = new URLVariables( ) ; variables.maVar1 = " relancer un diaporama XML sur un second XML [ par vegetalain ] Salut tout le monde... alors voilà, je suis dsl mais je ne sais plus où j'ai pris le code dont je vais vous parler :/ snif.Le code suivant permet de c


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,359 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.