Flashhilfe.de - Flash Community

funktion alle 2 sekunden ausführen?? [Flash 8]

 


AntwortenRegistrieren Seite1  

Atticus#1
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

25.04.2007, 15:35

Hallo, ich habe hier eine Funktion die nach 1 sekunde ausgeführt wird, kann mir jemand sagen wie ich das schreiben muß das die funktion ummer wieder erneut nach 1 sekunde ausgefphrt wird ?? bis jetzt wird sie nur einmal ausgeführt und das wars.

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
_global.zahl = 1;

einzufaden = "photocon02";
auszufaden = "photocon01";
      
fade = function (ein, aus) {
   clearInterval(dieID03);
    if (ein != aus) {
        this.onEnterFrame = function() {
            if(_global.zahl == 1) {
               einzufaden = "photocon02";
               auszufaden = "photocon01";
            }
   
            if(_global.zahl == 2) {
               einzufaden = "photocon01";
               auszufaden = "photocon02";
            }
   
            this[aus]._alpha -= 5;
            this[ein]._alpha += 5;
            if (this[aus]._alpha <= 0 && this[ein]._alpha >= 100) {
                _global.zahl++
                //this.auszufaden = ein;
                delete this.onEnterFrame;
            }
        };
    }
};

dieID03 = setInterval(fade(einzufaden,auszufaden),1000);


Gruß Atticus^^

badskill#2
Benutzerbild von badskillFlashhilfe.de Moderator
Beiträge: 5285
Wohnort: Bernau (bei Berlin)
Registriert: Nov 2002

25.04.2007, 15:36

Diese Zeile muss raus
ActionScript:
1clearInterval(dieID03);


mathis#3
Benutzerbild von mathis
Beiträge: 1443
Wohnort: bei Kiel
Registriert: Aug 2005

25.04.2007, 15:45

Auch sonst ist da einiges nicht in Ordnung,... bei dem Aufruf von setInterval müssen die Parameter hinten angehängt werden.
Warum nicht mit der Tween-Klasse?

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
import mx.transitions.Tween;

ein = photocon01;
aus = photocon02;
function fade() {
   new Tween(ein, "_alpha", null, 0, 100, 0.7, true);
   new Tween(aus, "_alpha", null, 100, 0, 0.7, true);
   var temp = ein;
   ein = aus;
   aus = temp;
}
dieID03 = setInterval(fade, 1000);


Atticus#4
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 15:59

Vielen Dank für deine hilfe, gruß Atticus^^
Geändert von Atticus am 25.04.07 um 16:03 Uhr
Atticus#5
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 16:16

So, ich habe das jetzt so hinbekommen dank deiner Hilfe und es funktioniert wunderbar:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
_global.zahlphotos = 1;

import mx.transitions.Tween;

ein = photocon02;
aus = photocon01;

function fade() {
    new Tween(aus, "_alpha", null, 100, 0, 0.7, true);
   new Tween(ein, "_alpha", null, 0, 100, 0.7, true);
    var temp = ein;
    ein = aus;
    aus = temp;
}

fade01 = setInterval(fade, 1000);


jetzt werden immer abwechselnd zwischen den beiden MC hin und her geblendet im abstand von 1 sekunde. Jetzt muß ich das aber so haben das wenn der photocon01 zum beispiel alpha 100 hat in den anderen wo alpha = 0 ist schon ein neuses bild reingeladen wird damit immer neue bilder angezeigt werden und nicht immer die selben. genauso auch umgekehrt, also wenn photocon02 alpha = 100 hat das in den photocon01 ein neues bild reingeladen wird. Ich habe folgendes probiert, aber das geht nicht:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
onEnterFrame = function () {
   if(photocon01._alpha == 0) {
      _global.zahlphotos++
      photocon01.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
   }
   
   if(photocon02._alpha == 0) {
      _global.zahlphotos++
      photocon02.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
   }
}


Kann mir jemand noch sagen wieseo oder was ich falsch mache ?? Außerdem soll denn der wert _global.zahlphotos den wert 10 erreicht hat wieder das 1 bild geladen werden das quasi eine endlosschleife entsteht.

Gruß Atticus^^

mathis#6
Benutzerbild von mathis
Beiträge: 1443
Wohnort: bei Kiel
Registriert: Aug 2005

25.04.2007, 16:37

hmmm... teste mal so.
Aber was ist, wenn das Bild ein bisschen länger als eine Sekunde zum Landen braucht...?
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
_global.zahlphotos = 1;

import mx.transitions.Tween;

ein = photocon02;
aus = photocon01;

function fade() {
    new Tween(ein, "_alpha", null, 0, 100, 0.7, true);
    var t:Tween = new Tween(aus, "_alpha", null, 100, 0, 0.7, true);
    t.onMotionFinished = function() {
       _global.zahlphotos++;
       if(_global.zahlphotos == 10) _global.zahlphotos = 1;
       aus.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
    }
    var temp = ein;
    ein = aus;
    aus = temp;
}

fade01 = setInterval(fade, 1000);

und warum machst du die variablen eigentlich immer _global?

mathis

Atticus#7
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 16:58

Hi und vielen dank für deine mühe!!! Allerdings muß da irgendwo noch ein fehler drin sein den der macht den übergang zum nächsten bild und wenn das neue bild geladen ist springt der sofort zum nächsten ohne übergang. Weist du woran das leigen kann ??
Schön wäre es wenn du auch eine onenterFrame lösung finden würdest!!!

Globale variabeln hab ich mir so angewöhnt^^

Gruß Atticus^^
Geändert von Atticus am 25.04.07 um 16:59 Uhr
Atticus#8
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 17:07

Super vielen dank ich habs dank dir jetzt so geschafft:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
stop();

_global.zahlphotos = 1;

import mx.transitions.Tween;

ein = photocon02;
aus = photocon01;

function fade() {
    new Tween(aus, "_alpha", null, 100, 0, 0.7, true);
   new Tween(ein, "_alpha", null, 0, 100, 0.7, true);
    var temp = ein;
    ein = aus;
    aus = temp;
   _global.zahlphotos++
   if(_global.zahlphotos == _global.anzahlphoto) {
      _global.zahlphotos = 1;
   }
}

fade01 = setInterval(fade, _global.wechselphoto);

onEnterFrame = function() {
   if(photocon01._alpha <= 1) {
      photocon01.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
   }
   
   if(photocon02._alpha <= 1) {
      photocon02.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
   }
}


Also offline funktioniert es aber Online macht er zicken, kann es sein das es daran liegt das die bilder dann nciht schnell genug geladen werden ??

Gruß Atticus^^
Geändert von Atticus am 25.04.07 um 17:12 Uhr
mathis#9
Benutzerbild von mathis
Beiträge: 1443
Wohnort: bei Kiel
Registriert: Aug 2005

25.04.2007, 17:19

Ja, so geht das auch, es ist aber nicht sehr schön, wenn die Aufforderung zum laden mehrmals in der Sekunde erfolgt.
Ich hatte gerade eine Lösung ohne enterFrame gebastelt ;)

Kann sein, dass es daran liegt, dass die datei online länger zum Laden braucht. Probiere doch mal das Interval länger zu machen.

Man müsste warten bis ein Bild geladen ist und dann dieses einfaden und das nächste laden.

Hier nochmal ohne enterFrame:
ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
_global.zahlphotos = 1;

import mx.transitions.Tween;

ein = photocon02;
aus = photocon01;

function fade() {
   new Tween(ein, "_alpha", null, ein._alpha, 0, 1, true);
   var t:Tween = new Tween(aus, "_alpha", null, aus._alpha, 100, 1, true);
   t.onMotionFinished = function() {
      _global.zahlphotos++;
      if (_global.zahlphotos == 11) {
         _global.zahlphotos = 1;
      }
      aus.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
   };
   var temp = ein;
   ein = aus;
   aus = temp;
}
fade();
fade01 = setInterval(fade, 5000);
ein.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));

mathis

Atticus#10
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 17:25

Super, das funktioniert schon fast perfekt^^ Am anfang werden 3 bilder aber ganz schnell und ohne mir ersichtlichen grund schnell durchgelaufen und verändert. Anschauen kannst du dir das hier:

http://projekt04.haakde-sign.de/

Weist du warum ??

Gruß Atticus^^

mathis#11
Benutzerbild von mathis
Beiträge: 1443
Wohnort: bei Kiel
Registriert: Aug 2005

25.04.2007, 17:31

Ich sehe garkeine Bilder, liegt aber wahrscheinlich daran, dass ich unter isdn leide...
Welches Script hast du denn jetzt genommen?
Hast du von photocon01 und photocon02 am Anfang _alpha auf 0 gestellt? Wenn nciht, mach das mal.

mathis

Atticus#12
Benutzerbild von Atticus
Beiträge: 1411
Wohnort: Leverkusen
Registriert: Jul 2006

Themenautor/in

25.04.2007, 17:55

Also der Fehler lag an mir, ich habe die bilder schonmal vorgeladen in den MC mit loadMovie und dein script hat die dann nochmal reingeladen. Dann habe ich meins weggemacht und es geht einwandfrei^^ Habs jetzt so gemacht:

ActionScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
stop();

_global.zahlphotos = 1;

import mx.transitions.Tween;

ein = photocon02;
aus = photocon01;

function fade() {
    new Tween(ein, "_alpha", null, ein._alpha, 0, 1, true);
    var t:Tween = new Tween(aus, "_alpha", null, aus._alpha, 100, 1, true);
    t.onMotionFinished = function() {
        _global.zahlphotos++;
        if (_global.zahlphotos == _global.anzahlphoto) {
            _global.zahlphotos = 1;
        }
        aus.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));
    };
    var temp = ein;
    ein = aus;
    aus = temp;
}
fade();
fade01 = setInterval(fade, 5000);
ein.loadMovie("PHOTOS/Photoback0" + _global.zahlphotos + ".jpg?cache="+(new Date().getTime()));


Nochmal tausend dank mathias!!!

Gruß Atticus^^


AntwortenRegistrieren Seite1  

Schnellantwort

Du musst registriert sein, um diese Funktion nutzen zu können.

 
Ähnliche Beiträge zum Thema
Partner Webseiten: art-and-law.de  Mediengestalter.info   phpwelt.de   Scubacube.de  
Haftungsausschluss   Datenschutzerklärung   Impressum
© 1999-2022 Sebastian Wichmann - Flashhilfe.de