Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 28-07-2004, 21:58   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
setInterval - Aufruf

Hallo Leute,

habe ein Interval gesetzt (Zeitleiste):
PHP-Code:
vidDur setInterval (function(){
    
aktZeit netStream.time;
    if (
aktZeit>=gVidTime) {
        
clearInterval(vidDur);
        
zeigeAufg();
    }
},
100); 
Wie kann ich dieses Interval aus einem anderen Film in einem anderen Level aufrufen.

Hatte vorher das setInterval in einer Funktion stehen. Dies hatte aber die Auswirkung, dass der clearInterval-Befehl nicht mehr funktionierte.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 28-07-2004, 22:03   #2 (permalink)
_Thomas_
Gast
 
Beiträge: n/a
wie aufrufen? ein intervall ruft sich doch höchstens selbst auf..wenn du es von einem anderen level aus löschen willst, sollte das so gehen..:

ActionScript:
  1. clearInterval(_level0.vidDur);

..voraussetzung ist hier natürlich,, daß sich der bezeichnete interval in diesem fall auch wirklich auf _level0 befindet.

gruß,
Tante Amanda
  Mit Zitat antworten
Alt 28-07-2004, 22:07   #3 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Meinst Du, wie Du es wieder löschen kannst,
von einer andere Stelle?
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 28-07-2004, 22:22   #4 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Also:

das Intervall wird innerhalb der funktion wieder gelöscht (siehe if Schleife).

Ich möchte nun aber dieses Intervall von einer anderen Stelle aus noch einmal ausführen lassen.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 28-07-2004, 22:55   #5 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ich würde zu sagen,
wenn das Interval gelöscht wird,
dann muss man ein neues Interval
erstellen.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 28-07-2004, 23:06   #6 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Kann man denn ein einmal gestopptes Intervall nicht wieder erneut laufen lassen? Kann ich mir nicht vorstellen.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 28-07-2004, 23:16   #7 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Du stoppst es ja nicht clearInterval() löscht
ein Interval, wie das clear schon sagt.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 28-07-2004, 23:20   #8 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Und wie kann ich es dann stoppen?

Zweite Frage. Wenn es dann gelöscht ist O.K. muss ich dann, wenn ich das gleiche Intervall nochmal haben möchte den Code noch mal an anderer Stelle neu schreiben? Das wäre doch etwas umständlich. Ich habe doch den Code einmal.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 28-07-2004, 23:27   #9 (permalink)
All-rounder
 
Benutzerbild von thebiz
 
Registriert seit: Mar 2004
Ort: Bayerische Rhön
Beiträge: 2.507
Ich wüsste nicht, dass man
ein Interval stoppen kann.
__________________

--------------------------------
Ich klicke, ergo bin ich. (me)
--------------------------------
thebiz ist offline   Mit Zitat antworten
Alt 28-07-2004, 23:34   #10 (permalink)
_Thomas_
Gast
 
Beiträge: n/a
da wirst du wohl nicht drum herum kommen, den intervall nochmal aufzurufen.
eine erleichterung könnte für dich jedoch sein, nicht mit einer anonymen funktion, so wie in deinem beispiel, sondern mit einer bekannten funktion zu arbeiten.

ActionScript:
  1. _global.fx = function() {
  2.     aktZeit = netStream.time;
  3.     if (aktZeit>=gVidTime) {
  4.         clearInterval(_root.vidDur);
  5.         zeigeAufg();
  6.     }
  7. };
  8. // intervalldefinition..irgendwo/irgendwann im film
  9. // auch für wiederholten aufruf..
  10. //
  11. _root.vidDur = setInterval(fx, 100);

gruß,
Tante Amanda
  Mit Zitat antworten
Alt 28-07-2004, 23:48   #11 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
@Tante Amanda:
Hatte ich ja alles schon probiert. Das Problem ist, dass clearIntervall dann nicht mehr greift. Rufe ich die Funktion auf wie du es schreibst wird das Intervall nicht mehr gelöscht.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 29-07-2004, 08:48   #12 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Weiß denn niemand eine Lösung oder hat einen anderen Ansatz?
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 29-07-2004, 09:21   #13 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
Thumbs up

Hab nen Ansatz gefunden, der funzt:

ActionScript:
  1. function checkTime(){
  2.     _root.onEnterFrame = function(){
  3.         _root.aktZeit = netStream.time;
  4.         if (_root.aktZeit>=gVidTime) {
  5.             delete _root.onEnterFrame;
  6.             zeigeAufg();
  7.         }
  8.     }
  9. }
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass ist offline   Mit Zitat antworten
Alt 29-07-2004, 09:45   #14 (permalink)
_Thomas_
Gast
 
Beiträge: n/a
Talking hehe, nee du brauchst nicht auf den intervall zu verzichten...

hi

ansonsten würde mir da nur folgendes einfallen: der globalen funktion die intervallID als argument zu übergeben. wobei es bei dieser variante auch notwendig ist, den interval an einen absoluten pfad zu heften, da der sonst innerhalb der funktion nicht aufgelöst werden kann, da eine intervallID kein tatsächlicher verweis auf den intervall ist.

ActionScript:
  1. _global.fx = function(id) {
  2.     if (n++>10) {
  3.         clearInterval(eval(id));
  4.         trace("intervall gelöscht");
  5.     }
  6. };
  7. //
  8. // irgendwo auf einer anderen zeitleiste:
  9. //
  10. _root.itv = setInterval(fx, 100, "_root.itv");

getestet, und bei mir funktionierts supadupa.

gruß,
Tante Amanda
  Mit Zitat antworten
Alt 29-07-2004, 17:06   #15 (permalink)
Neuer User
 
Registriert seit: Dec 2002
Ort: Lutherstadt Eisleben
Beiträge: 57
hi Tante Amanda,

danke für den Tipp. Da mein Ansatz erstmal funktioniert will ich hier erstmal nichts weiter ändern. Hab noch an ein paar anderen Dingen zu basteln und die Zeit ist knapp.
__________________
jörg aderhold

programmierung / training
http://www.jaderbass.de
jaderbass 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 06:39 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele