Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-06-2005, 11:45   #1 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 11
clearInterval - prob

hi,

hab komischerweise das problem, dass ein aufgerufenes interval (m_id) nicht mehr gecleart wird, d.h. es läuft unendlich weiter!
wos ist der fehler???

##############################################
function movepoint(ziel) {
var speed = 5;
x = (Stage.width-535)/2;
y = (Stage.height/2)-100;
ziel.onEnterFrame = function() {
this._x += (x-this._x)/speed;
this._y += (y-this._y)/speed;
if(this._x - ((Stage.width-535)/2) < 0.2 && this._x - ((Stage.width-535)/2) > -0.2){
meinText.text = meinText.text + "clear";
clearInterval(m_id);
}
}
}

function move(btn0) {
m_id = setInterval( function(){ movepoint(btn0); }, 100, m_id );
}
move(btn0);
Mster ist offline   Mit Zitat antworten
Alt 02-06-2005, 11:59   #2 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
Hi!
Nicht der Interval läuft weiter, sonder der oEF. Guckst du:
ActionScript:
  1. function movepoint(ziel) {
  2.     trace("läuft");
  3.     var speed = 5;
  4.     x = (Stage.width-535)/2;
  5.     y = (Stage.height/2)-100;
  6.     ziel.onEnterFrame = function() {
  7.         this._x += (x-this._x)/speed;
  8.         this._y += (y-this._y)/speed;
  9.         if (this._x-((Stage.width-535)/2)<0.2 && this._x-((Stage.width-535)/2)>-0.2) {
  10.             meinText.text = meinText.text+"clear";
  11.             clearInterval(m_id);
  12.             trace("clear");
  13.             delete this.onEnterFrame;
  14.         }
  15.     };
  16. }
  17. function move(btn0) {
  18.     m_id = setInterval(function () {
  19.         movepoint(btn0);
  20.     }, 100, m_id);
  21. }
  22. move(btn0);
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-06-2005, 14:29   #3 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 11
hmmm ... also erst mal danke - es fluppt

nur noch 2 fragen:

- was verstehst du unter oEF? (oder meintest du EOF?)

- und wieso brauche ich hier ein delete? (hab schon mal ein intervall benutzt, das sich auch wieder mit clearintervall löschen lässt - wieso funkt das bei diesem nicht, oder habe ich im ersten intervall schon nen fehler?)
Mster ist offline   Mit Zitat antworten
Alt 02-06-2005, 15:31   #4 (permalink)
................
 
Benutzerbild von Der Frager
 
Registriert seit: Jun 2004
Beiträge: 15.890
1.) oEF = onEnterFrame (nicht für's Script - ne Abkürzung halt)
2.) in dieser Zeile
ActionScript:
  1. ziel.onEnterFrame = function()
wird oEF aufgerufen. Das hat mit setInterval nix zu tun und muss daher auch wieder gelöscht (deleted) werden.
Allerdings ist dein ganzes Script auch etwas wirr...
__________________

ternärer Konditionaloperator

+++ Bitte keine Privat-Nachrichten bezüglich Flashfragen! +++
Der Frager ist offline   Mit Zitat antworten
Alt 02-06-2005, 15:37   #5 (permalink)
Neuer User
 
Registriert seit: May 2004
Beiträge: 11
aahh oEnterFrame jetz check ichs auch. alles klar!

recht herzlichen dank für die schnelle hilfe.

ps: ich weiss, der code könnte besser sein, aber ich bin am rumprobieren, da kommt dann sowas bei raus
Mster 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 23:09 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele