[Résolu] code instable

code instable [Résolu] - Flash/ActionScript - Programmation

Marsh Posté le 26-03-2006 à 18:16:25    

:) Salut
 
Ce que cherche à faire, c’est tout simplement de passer le "deph" du "Container_Mc" sur mon clip.
Mais voilà Fash n’accepte pas la syntaxe et plante.
J’aimerais savoir où est mon erreur et si mon code est écrit correctement .
 
 :) merci de m'aider à comprendre !!
 
Ce que je pensais faire, mais c’est le bug assuré

Code :
  1. makeButtons = function(){
  2. if(i <= imgNum){
  3.  Mc_clip = attachMovie("imgBtn", "imgBtn"+i, 0);
  4.  Mc_clip._x = i%3*100;
  5.  Mc_clip._y = Math.floor(i/3)*100;
  6.  Container_Mc = Mc_clip.createEmptyMovieClip("loader_Bar", 1);
  7.  imgLoader.loadClip("small/"+i+".jpg", Container_Mc);
  8. }
  9. }

 
Ici,  le code actuelle en entier avec son problème de niveau

Code :
  1. var imgNum = 8;
  2. var i = 0;
  3. var imgLoader = new MovieClipLoader();
  4. ///////////
  5. var barW = 80;
  6.  var barH = 60;
  7. function draw(mcCible:MovieClip, w:Number, h:Number):Void {
  8.     mcCible.moveTo(0, 0);
  9.     mcCible.beginFill(0xFFFFFF, 100);
  10.     mcCible.lineTo(w, 0);
  11.     mcCible.lineTo(w, h);
  12.     mcCible.lineTo(0, h);
  13.     mcCible.lineTo(0, 0);
  14.     mcCible.endFill();
  15. };
  16. imgLoader.onLoadProgress = function (targetMC, loadedBytes, totalBytes){
  17. barW = Math.floor(loadedBytes/totalBytes*80);
  18. draw(Mc_clip, barW, barH);
  19. Mc_clip.pourcent_txt.text = Math.round((loadedBytes/totalBytes) * 100)+ "%";
  20. }
  21. imgLoader.onLoadComplete = function (targetMC){
  22. Mc_clip.texte_txt.text = i+1;
  23. Mc_clip.onRelease = function() {
  24. };
  25.  i++;
  26.  makeButtons();
  27. }
  28. makeButtons = function(){
  29. if(i <= imgNum){
  30.  Mc_clip = attachMovie("imgBtn", "imgBtn"+i, this.getNextHighestDepth());
  31.  Mc_clip._x = i%3*100;
  32.  Mc_clip._y = Math.floor(i/3)*100;
  33.  Container_Mc = Mc_clip.createEmptyMovieClip("loader_Bar", 0);
  34.  imgLoader.loadClip("small/"+i+".jpg", Container_Mc);
  35. }
  36. }
  37.  makeButtons();


Message édité par olimann le 28-03-2006 à 01:13:06
Reply

Marsh Posté le 26-03-2006 à 18:16:25   

Reply

Marsh Posté le 26-03-2006 à 18:27:36    

Citation :

Mc_clip = attachMovie("imgBtn", "imgBtn"+i, 0);


non seulement suivant ta version de flash, 0 de depth peut ne pas fonctionner, mais en plus tu cree toutes tes occurences a cette profondeur, tu n'en auras qu'une (la derniere crée, qui auras ecrasé celle d'avant et ainsi de suite)

Citation :

Mc_clip = attachMovie("imgBtn", "imgBtn"+i, this.getNextHighestDepth());


ca ca devrait fonctionner ais peut etre faut il preciser this.attachMovie pour que this.getNextHighestDepth() fonctionne...
 
sinon le mieux c'est de gerer soi même ses depth en fonction de son projet tu peux utiliser ton i et y ajouter une valeur:
-> mes boutons: 100 et +
-> mes photos 1000 et +
-> etc...


---------------
D3
Reply

Marsh Posté le 26-03-2006 à 18:41:01    

:??: Normalement ce code ne doit pas poser de probléme ?!

Code :
  1. makeButtons = function(){
  2. if(i <= imgNum){
  3.  Mc_clip = this.attachMovie("imgBtn", "imgBtn"+i, this.getNextHighestDepth());
  4.  Mc_clip._x = i%3*100;
  5.  Mc_clip._y = Math.floor(i/3)*100;
  6.  Container_Mc = Mc_clip.createEmptyMovieClip("loader_Bar", 1000);
  7.  imgLoader.loadClip("small/"+i+".jpg", Container_Mc);
  8. }
  9. }


 
"1000" n'est pas pris en compte  !!


Message édité par olimann le 26-03-2006 à 18:42:47
Reply

Marsh Posté le 26-03-2006 à 18:58:33    

ben ouais mais reflechit un peu a ce que tu fait aussi...
 

Code :
  1. makeButtons = function(){
  2.      if(i <= imgNum){
  3.         this.attachMovie("imgBtn", "imgBtn"+i, 100+i);
  4.         this["imgBtn"+i]._x = i%3*100;
  5.         this["imgBtn"+i]._y = Math.floor(i/3)*100;
  6.         this["imgBtn"+i].createEmptyMovieClip("Container_mc", 1000+i);
  7.         imgLoader.loadClip("small/"+i+".jpg", this["imgBtn"+i].Container_mc);
  8.      }        
  9. }


 
ca devrait fonctionner a vu de nez...


---------------
D3
Reply

Marsh Posté le 26-03-2006 à 19:20:32    

non toujours rien !!

Reply

Marsh Posté le 26-03-2006 à 19:31:11    

ben apprend a debuguer un minimum parcque je suis pas devin, alors

Citation :

non toujours rien


ca m'aide pas beaucoups...
 
dans chaque function mets un:
trace("nom de la fonction : parametre = "+parametre);
 
exemple pour makebutton:
makeButtons = function(){
trace("makeButtons  : i = "+i);
     if(i <= imgNum){
        etc...
 
de cette maniere tu auras une meilleur idee de ce qui se passe bien et de ce qui foire...


---------------
D3
Reply

Marsh Posté le 28-03-2006 à 01:12:34    

:) J'ai résolu mon problème ( :sweat: honteux je l'avoue !! )
 
La faute :

Code :
  1. draw(Mc_clip, barW, barH);


La correction :

Code :
  1. draw(Container_Mc, barW, barH);


 
 :) Merci quand même de ton intérêt  

Reply

Sujets relatifs:

Leave a Replay

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