Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 07-10-2005, 08:56   #1 (permalink)
Neuer User
 
Registriert seit: May 2005
Beiträge: 3
Question Dynamische Hintergrundbilder?!

Hi Leute,

ich habe ein Problem an dem ich mir die Zähne ausbeise! Ich habe eine main.fla und die ruft die einzelnen Filme auf. Nun beim Übergang zu den einzelnen Filmen sieht es so aus als würde es ruckeln. Ich dachte ich hatte das Problem gelöst in dem ich einfach das Hintergrundbild auf die main.fla lege, das hat ja auch bis zum 6. Film funktioniert aber dann ändert sich das Hintergrundbild und wollte ich mal Fragen wie ich es hinbekomme dass er so zu sagen dynamisch die HgBilder lade. Also die HgBilder habe ich als MC's und auch für AS exportiert.
Hier mal mein Code:
ActionScript:
  1. var movieNum = 1;
  2. var sprache:String = "DE";
  3.  
  4. var array:Array = new Array()
  5. array[0]  = ["intro.swf", 1000];    // deutsch
  6. array[1]  = ["fla02.swf", 1000];
  7. array[2]  = ["fla03.swf", 1000];
  8. array[3]  = ["fla04.swf", 1000];
  9. array[4]  = ["fla05.swf", 1000];
  10. array[5]  = ["fla06.swf", 1000];
  11. array[6]  = ["fla07.swf", 1000];
  12. array[7]  = ["fla08.swf", 1000];
  13. array[8]  = ["fla09.swf", 1000];
  14. array[9]  = ["fla10.swf", 1000];
  15. array[10] = ["fla11.swf", 1000];
  16. array[11] = ["fla12.swf", 1000];
  17. array[12] = ["fla13.swf", 1000];
  18. array[13] = ["fla14.swf", 1000];
  19. array[14] = ["fla15.swf", 1000];
  20. array[15] = ["fla16.swf", 1000];
  21. array[16] = ["fla17.swf", 1000];
  22. array[17] = ["fla18.swf", 1000];
  23. array[18] = ["fla19.swf", 1000];
  24. array[19] = ["fla20.swf", 1000];
  25. array[20] = ["fla21.swf", 1000];
  26. array[21] = ["fla22.swf", 1000];
  27.  
  28. array[22]  = ["intro.swf", 1000];   // englisch
  29. array[23]  = ["fla02.swf", 1000];
  30. array[24]  = ["fla03.swf", 1000];
  31. array[25]  = ["fla04.swf", 1000];
  32. array[26]  = ["fla05.swf", 1000];
  33. array[27]  = ["fla06.swf", 1000];
  34. array[27]  = ["fla07.swf", 1000];
  35. array[28]  = ["fla08.swf", 1000];
  36. array[29]  = ["fla09.swf", 1000];
  37. array[30]  = ["fla10.swf", 1000];
  38. array[31] = ["fla11.swf", 1000];
  39. array[32] = ["fla12.swf", 1000];
  40. array[33] = ["fla13.swf", 1000];
  41. array[34] = ["fla14.swf", 1000];
  42. array[35] = ["fla15.swf", 1000];
  43. array[36] = ["fla16.swf", 1000];
  44. array[37] = ["fla17.swf", 1000];
  45. array[38] = ["fla18.swf", 1000];
  46. array[39] = ["fla19.swf", 1000];
  47. array[40] = ["fla20.swf", 1000];
  48. array[41] = ["fla21.swf", 1000];
  49. array[42] = ["fla22.swf", 1000];
  50.  
  51. Funktionen.logos(this);
  52.  
  53. this.bg1._visible = false;
  54.  
  55. loadMovieNum(array[0][0], 2);
  56. var iv = setInterval(loadNextMovie, array[0][1]);
  57.  
  58. function loadNextMovie():Void
  59. {
  60.     clearInterval(iv);
  61.     loadMovieNum(array[movieNum][0], 2);
  62.    
  63.    
  64.     if(movieNum < array.length - 1)
  65.     {
  66.         movieNum++;
  67.         if(movieNum > 22)
  68.             sprache = "EN";
  69.     }
  70.     else
  71.     {
  72.         movieNum = 0;
  73.         sprache = "DE";
  74.     }
  75.    
  76.     if (movieNum < 11)
  77.     {
  78.         this.attachMovie("fla1", 1);
  79.     }
  80.     else
  81.     {
  82.         this.attachMovie("fla" + (movieNum + 1), 1);
  83.     }
  84.    
  85.     var idx = (movieNum > 0)? movieNum -1 : array.length - 1;
  86.     iv = setInterval(loadNextMovie, array[idx][1]);
  87. }

Ich hoffe ich konnte mein Problem verständlich Rüberbringen.

Gruß
Shake13 ist offline   Mit Zitat antworten
Alt 07-10-2005, 11:04   #2 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Zitat:
Ich hoffe ich konnte mein Problem verständlich Rüberbringen.
Nicht wirklich...

Das ganze Script ist ein wenig umständlich: so benötigst du kein mehrdimensionales Array, weil die Intervallzeit immer die gleiche ist (1000 mS). Und da deine Filme mit Ausnahme des ersten durchnummeriert sind, benötigst du überhaupt kein Array...

Weiterhin würde ich auch nicht mit loadMovieNum arbeiten, weil du damit einen neuen überflüssigen Level erstellst. Ein einfacher loadMovie auf eine Tiefe des Levels 0 würde auch ausreichen.

Kleiner Ansatz, dazu die vorliegenden Filme in fla1.swf bis fla22.swf umbenennen:
ActionScript:
  1. var filmanzahl = 22;
  2. var movieNum = 1;
  3.  
  4. _level0.createEmptyMovieClip("con",1);//leeren MC erstellne
  5.  
  6. var iv = setInterval(loadNextMovie, 1000);
  7.  
  8. function loadNextMovie(){
  9. clearInterval(_level0.iv);
  10. _level0.con.loadMovie("fla"+movieNum+".swf");//den Film in den leeren MC laden
  11.  
  12. if(_level0.movieNum <= _level0.filmanzahl){
  13.  _level0.movieNum++;
  14. _level0.iv = setInterval(loadNextMovie, 1000);
  15. }
  16. //etc
  17. }
  Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 05:04 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele