Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-10-2004, 00:33   #1 (permalink)
Neuer User
 
Benutzerbild von destroy90210
 
Registriert seit: Feb 2002
Ort: wien
Beiträge: 458
interval erhöht sich obwol ich es lösche

hi,
also ich habe folgendes 2 swf files und in eine lade ich die andere rein per loadmovie, in der reingeladenen befindet sich eine slideshow

so wird sie geladen
ActionScript:
  1. stop();
  2. this.slideShow.loadMovie("slideShow.swf");
  3. _root.contents.ladeBalken._alpha = 100;
  4. this.onEnterFrame = function() {
  5.     total = this.slideShow.getBytesTotal();
  6.     geladen = this.slideShow.getBytesLoaded();
  7.     trace(geladen);
  8.     prozent_str = Math.round((geladen/total)*1000);
  9.     _root.contents.ladeBalken._xscale = prozent_str;
  10.     //trace(prozent_str/10);
  11.     if (geladen == total && this.getBytesLoaded()>4) {
  12.         delete this.onEnterFrame;
  13.         _root.contents.ladeBalken._alpha = 0;
  14.     }
  15. };

und hier die slideShow ansich das script befindet sich in der zweiten swf
ActionScript:
  1. clearInterval(_root.diashow);
  2. clearInterval(_root.diashowFade);
  3. mc = this;
  4. i=0;
  5. _root.diashow = setInterval(function () {
  6.     i++;
  7.     mc.slideShowDummy.attachMovie(i, "bild"+i, 1);
  8.     mc.slideShowDummy._alpha = 0;
  9.     _root.diashowFade = setInterval(function () {
  10.         trace(mc)
  11.         mc.slideShowDummy._alpha += 10;
  12.         trace(mc.slideShowDummy._alpha);
  13.         if (mc.slideShowDummy._alpha>=100) {
  14.             trace("weg");
  15.             clearInterval(_root.diashowFade);
  16.         }
  17.     }, 50);
  18.     if (i == 10) {
  19.         i = 0;
  20.     }
  21. }, 2500, mc);
es gibt in der ersten swf ein menü und da lösche ich auch immer zusätzlich die intervale wenn ich aus dem menpunkt home gehe (wo die zweite swf reingekladen wird)
habs auch schon mit unloadmovie probier geht aber immer noch nicht
ActionScript:
  1. on (release) {
  2.     clearInterval(_root.diashow);
  3.     clearInterval(_root.diashowFade);
  4.     unloadMovie("_root.contents.text.slideShow");
  5.     _root.contents.text.gotoAndStop("contact");
  6.         ...
  7.         ...
  8.         ...

beim ersten mal laden ist alles super und die bilder faden schön hoch
nur wenn ich auf nen anderen menüpunkt gehen und dann zurück dann fadendie bilder ganz schnell hoch un dich habe langsam keinen pklan mehr warum, weil ich lösche ja brav alle intervalle...

weiss wer warum die bilder dann schneller faden, also was ich da flasch mache

mfg,
destroy90210

Geändert von destroy90210 (19-10-2004 um 00:34 Uhr)
destroy90210 ist offline   Mit Zitat antworten
Alt 19-10-2004, 01:10   #2 (permalink)
brand new user
 
Benutzerbild von RustyCake
 
Registriert seit: May 2002
Ort: Laimbach 6 1/2
Beiträge: 16.884
Lustiges Konstrukt!!
Würde gern mehr drüber erfahren was Du vor hast
__________________
Bitte keine Fragen, zu Flash per PM. Dazu ist das Forum da. Danke MFG_RustyCake!
"Wer tanzen will, muß erst gehen lernen"
RustyCake ist offline   Mit Zitat antworten
Alt 19-10-2004, 01:25   #3 (permalink)
Neuer User
 
Benutzerbild von destroy90210
 
Registriert seit: Feb 2002
Ort: wien
Beiträge: 458
naja es geht um diese seite
http://gregor.slosh-slosh.com/mfg2/

und für die startseite will ich eine slideshow machen wo die slideshow halt gepreloadet wird

wie du siehst ist die slideshow nach dem laden ganz weich, also es wird immer schön +10 zu alpha gegeben, nur wenn ich im menü rumklicke auch wenn ich die intervale kille alle die in der slideshow enstehen, faden die bilder viel schneller hoch als beim beginn wenn ich dann wieder auf mfg klicke...
destroy90210 ist offline   Mit Zitat antworten
Alt 19-10-2004, 01:30   #4 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
hmm recht interessant , so auf anhieb hab ich da auch nix erkannt aber ich hab mal deine 2 ineinanderliegenden intervalle in eines aufgelösst sollte so auch den selben zweck erfüllen und ist etwas übersichtlicher..

ActionScript:
  1. clearInterval(_root.diashowFade);
  2. mc = this;
  3. i=0;
  4.  
  5.     _root.diashowFade = setInterval(function () {
  6. i++
  7. if (i==0){
  8.     mc.slideShowDummy.attachMovie(i, "bild"+i, 1);
  9.     mc.slideShowDummy._alpha = 0;
  10. }
  11.         mc.slideShowDummy._alpha += 10;
  12.         trace(mc.slideShowDummy._alpha);
  13.         if (mc.slideShowDummy._alpha>=100) {
  14.             clearInterval(_root.diashowFade);
  15.         }
  16.     if (i == 10) {
  17.         i = 0;
  18.     }
  19.     }, 50);

Gruss Sascha
projecktx ist offline   Mit Zitat antworten
Alt 19-10-2004, 01:37   #5 (permalink)
Neuer User
 
Benutzerbild von destroy90210
 
Registriert seit: Feb 2002
Ort: wien
Beiträge: 458
hmm ich glaub das verstehe ich nicht ganz oder es ist etwas falsch wie du das zusammen gefasst hast aber danke mal für deine hilfe...

mfg,
destroy90210
destroy90210 ist offline   Mit Zitat antworten
Alt 19-10-2004, 02:15   #6 (permalink)
Banned
 
Benutzerbild von projecktx
 
Registriert seit: Sep 2003
Beiträge: 2.071
sorry hab da einige denkfehler drin.. so nun müsste es aber das machen was du willst... sorry , ich nehme halt an das es irgendwie dran liegt das du zwei intervalle ineinander hast daher

ActionScript:
  1. clearInterval(_root.diashowFade);
  2. mc = this;
  3. i=0;
  4. t=0;
  5.     _root.diashowFade = setInterval(function () {
  6.  
  7. if (t==0){
  8. if (i==10){
  9. i=0;
  10. }
  11. i++
  12.     mc.slideShowDummy.attachMovie(i, "bild"+i, 1); //falls t==0 also entweder beim ersten oder beim 26,51,76..ten durchlauf wird ein bild neu geladen
  13.     mc.slideShowDummy._alpha = 0;
  14. }
  15.  
  16. t++
  17. if (mc.slideShowDummy._alpha<100){
  18.         mc.slideShowDummy._alpha += 10;
  19. }
  20.  
  21.     if (t == 25) {
  22.         t = 0;
  23.     }
  24.     }, 50);


Gruss Sascha
projecktx ist offline   Mit Zitat antworten
Alt 19-10-2004, 07:48   #7 (permalink)
Neuer User
 
Benutzerbild von destroy90210
 
Registriert seit: Feb 2002
Ort: wien
Beiträge: 458
also thx einmal für dei vereinfachung, aber ich checks einfach ned warum der beim zweiten mal klicken auf den link wo er zur slideshow kommt dann aufeinmal das teil schneller fadet...

ich habe mal die 2 files anbei dazugepackt, wäre nett wenn ihr euch da anschauen und mir sagen könnts wo mmein fehler liegen könnte

mfg,
destroy90210

also die ganzen srcipte liegen direkt auf root auf nem layer der AS heisst nur der vom preloader von der slideshow liegt unter _roots.contents.text im ersten keyframe wo start steht....
Angehängte Dateien
Dateityp: zip mfg.zip (218 Bytes, 5x aufgerufen)
destroy90210 ist offline   Mit Zitat antworten
Alt 19-10-2004, 08:56   #8 (permalink)
flashkonsole
 
Benutzerbild von Flashkonsole
 
Registriert seit: Sep 2003
Ort: Berlin
Beiträge: 59
Hallo destroy
also mit den setInteval functionen hatte ich auch schon immer einige probleme...
Ich ahbe festgestellt dass es am saubersten läuft wenn du die setInterval Funktion seperat aufrufst: Wenn du dann noch mit Objekten(wie z.b. root)arbeitest die von geladenen filmen wieder gelöscht werden sollen dann etwa so:
meineVar = setInterval(_root, "meineFunction", Zeit);
meineFuntion = function(){}
löschen dann mit clearInterval(_root.meineVar);

So klappt das eigentlich immer zuverlässig ;-)

habe leider kein 2004 hier auf arbeit ;-( kanns mir also auch nicht anschauen!

gruß
Flashkonsole ist offline   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 16:43 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele