Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 08-01-2004, 11:27   #1 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 90
setinterval läuft weiter

habe folgendes script:

ActionScript:
  1. ID = setInterval(countdown, 1000);
  2. counter = 10;
  3. counter_txt = 10;
  4. function countdown() {
  5.     if (_level0.statuslogged == "a" || _level0.statuslogged == "b" || _level0.statuslogged == "c") {
  6.         clearInterval(ID);
  7.     }
  8.     if (counter<=1) {
  9.         clearInterval(ID);
  10.         _level0.zeitende = 1;
  11.         _parent.gotoAndPlay("4");
  12.     }
  13.     counter--;
  14.     counter_tick = (counter);
  15.     if (counter_tick < 10 && counter_tick > 5 && counter_tick == Math.ceil(counter_tick)) {
  16.         mySound1.start(0, 1);
  17.     }
  18.     if (counter_tick <= 5 && counter_tick > 0 && counter_tick == Math.ceil(counter_tick)) {
  19.         mySound2.start(0, 1);
  20.     }
  21.     if (counter_tick == 0) {
  22.         mySound3.start(0, 1);
  23.     }
  24.     counter_txt = counter;
  25.     stopbalken = prozent_balken1;
  26.     prozent_balken1 = counter*10;
  27.     balken1._yscale = prozent_balken1;
  28. }
  29. stop();

wenn ich den mc verlasse wird trotzdem counter weitergezählt?
Was muß ich ändern, denn jetzt bleibt er immer beim 2. mal stehen obwohl der counter weiterzählt.
rainman ist offline   Mit Zitat antworten
Alt 08-01-2004, 12:17   #2 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 90
Habe gerade gemerkt es liegt an einem button mit dem ich den mc abbreche und weiterspringe. kann ich im as des Buttens den Interval löschen?
rainman ist offline   Mit Zitat antworten
Alt 08-01-2004, 12:29   #3 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
ActionScript:
  1. meinButton.onRelease = function(){
  2. clearInterval(_root.ID);
  3. }
  Mit Zitat antworten
Alt 08-01-2004, 13:04   #4 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 90
das hat auch nicht geholfen.

Ich habe ein frage antwortspiel gemacht.

der spieler hat 3 möglichkeiten und 10 sec zeit.
wenn der spieler voherantwortet wird die antwort für 2 sec. eingelogged und dann überprüft auf richtigkeit.

der 1. Interval läuft im timer für 10 sec.
ActionScript:
  1. ID = setInterval(countdown, 1000);
  2. counter = 10;
  3. counter_txt = 10;
  4. function countdown() {
  5.     if (_level0.statuslogged == "a" || _level0.statuslogged == "b" || _level0.statuslogged == "c") {
  6.         clearInterval(ID);
  7.     }
  8.     if (counter<=1) {
  9.         clearInterval(ID);
  10.         _level0.zeitende = 1;
  11.         _parent.gotoAndPlay("4");
  12.     }
  13.     counter--;
  14.     counter_tick = (counter);
  15.     if (counter_tick < 10 && counter_tick > 5 && counter_tick == Math.ceil(counter_tick)) {
  16.         mySound1.start(0, 1);
  17.     }
  18.     if (counter_tick <= 5 && counter_tick > 0 && counter_tick == Math.ceil(counter_tick)) {
  19.         mySound2.start(0, 1);
  20.     }
  21.     if (counter_tick == 0) {
  22.         mySound3.start(0, 1);
  23.     }
  24.     counter_txt = counter;
  25.     stopbalken = prozent_balken1;
  26.     prozent_balken1 = counter*10;
  27.     balken1._yscale = prozent_balken1;
  28. }
  29. stop();

nach einloggen der Antwort soll 2 sec. gewartet werden

Script bei nichteinloggen einer Antwort:
ActionScript:
  1. ID = setInterval(countdown,10);
  2. counterende = 1100;
  3. function countdown(){
  4.     if (_level0.antwortrichtig == "a" && _level0.zeitende == 1){
  5.     clearInterval(ID);
  6.     gotoAndPlay(14);
  7.     }
  8.     if (_level0.antwortrichtig == "b" && _level0.zeitende == 1){
  9.     clearInterval(ID);
  10.     gotoAndPlay(15);
  11.     }
  12.     if (_level0.antwortrichtig == "c" && _level0.zeitende == 1){
  13.     clearInterval(ID);
  14.     gotoAndPlay(16);
  15.     }
  16.     counterende --;
  17. }
ich bekomme zeitende = 0 vom timer wenn zeitabgelaufen ist.


script bei einloggen einer Antwort:

ActionScript:
  1. _level0.fragenstatus = "Anwort -A- wurde ausgewählt!";
  2.  
  3. ID = setInterval(stoppen,1000);
  4. verzoegerung = 1;
  5. function stoppen(){
  6.         if(verzoegerung <= 1){
  7.                 if(_level0.statuslogged == "a" && _level0.antwortrichtig == "a"){
  8.                 clearInterval(ID);       
  9.                    gotoAndPlay(5);
  10.                 }
  11.                 if(_level0.statuslogged == "a" && _level0.antwortrichtig == "b"){
  12.                 clearInterval(ID);
  13.                 gotoAndPlay(10);
  14.                 }
  15.                 if(_level0.statuslogged == "a" && _level0.antwortrichtig == "c"){
  16.                 clearInterval(ID);       
  17.                 gotoAndPlay(12);
  18.                 }
  19.         }
  20.         verzoegerung --;
  21. }

und dann passieren merkwürdige dinge.

1. counter wird immer weiter gezählt und vor allem nach jedem klick schneller
2. der Film springt manchmal wenn ich keine Antwort einlogge auf den 1. Frame in der Hauptleiste und Blizt ab und zu kein Button geht mehr.
rainman ist offline   Mit Zitat antworten
Alt 08-01-2004, 13:18   #5 (permalink)
~~~~~~~~~~~~
 
Benutzerbild von _geo_
 
Registriert seit: May 2002
Ort: AUSTRIA (OÖ)
Beiträge: 3.298
versuch mal deine SetInterval le nicht alle ID zu nennen, vielleicht hilfts ja .

mfg geo
__________________
--- :P ---

Blog
Bei unerwünschten Nebenwirkungen zerreißen Sie die Packungsbeilage oder erschlagen ihren Arzt oder Apotheker
_geo_ ist offline   Mit Zitat antworten
Alt 08-01-2004, 13:20   #6 (permalink)
agedoubleju
Gast
 
Beiträge: n/a
Das hängt evtl. von deinen Objektpfaden ab... Laß dir im Fehlersuchemodus mal mit trace("verzoegerung="+verzoegerung) vor und in der Funktion stoppen die Werte ausgeben, desgleichen für counter vor und in der Funktion countdown...
  Mit Zitat antworten
Alt 08-01-2004, 17:10   #7 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 90
Es funktioniert wunderbar bis ein button gedrückt wird.

habe mir in der Hauptleiste ein textfeld gemacht und lasse mir _level0.counter anzeigen .Es bleibt leer auch wenn die timer zählen, aber sobald ich einen meiner Buttons drücke zählt der counter ins negative immer weiter.
Habe schon alles mit clearinterval probiert.

Hängt es damit zusammen, dass meine Buttons in einem extra mc liegen.
rainman ist offline   Mit Zitat antworten
Alt 08-01-2004, 17:25   #8 (permalink)
Neuer User
 
Registriert seit: Nov 2003
Beiträge: 90
Komme meinem Fehler näher . In den Zielframes muss ich an die erste stelle Die jeweilige ID löschen funktioniert bis jetzt.
rainman 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:42 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele