Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 19-01-2006, 19:43   #1 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 111
Question Rekursionsabbruch funkt net

ActionScript:
  1. function evalu(xF, yF,t1) {
  2.    
  3.     t1 = date.getMilliseconds()
  4.     x1 = _xmouse;
  5.     y1 = _ymouse;
  6.     if (date.getMilliseconds() > t1)
  7.     {trace("exe");
  8.         x2 = _xmouse;
  9.         y2 = _ymouse;
  10.         speedMov(x1, x2, y1, y2, sX, sY);
  11.         mcSource(sX,sY)
  12.         t2=date.getMilliseconds();
  13.         evalu(xF,yF,t2);
  14.         [COLOR="Red"]return;[/COLOR]
  15.     }
  16.     evalu(0,0,t2);
  17.     [COLOR="Red"]return;[/COLOR]
  18. }
Kann mir jemand erklären / sagen, wie man das denn halt RICHTIG abbricht?
Der motzt nämlich einfach: joa alter, haste infinit Loop gebaut, mehr als 256 offene Fkt....

Der ist voll ******e

In Erwartung Eurer Antworten,

mfg, DeepSky

Geändert von bokel (19-01-2006 um 22:21 Uhr)
DeepSky ist offline   Mit Zitat antworten
Alt 19-01-2006, 19:47   #2 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 111
ups, ich glaub ich bin zuuuuu doof, für rek

was er macht ist ja klar:

öffnet FKT1,2,3,4,5,...... inf.
würde ja schließen, kann er nur nicht, weil die abbruchbed ja niemal eintreten wird -> gibt quasi keine. der müsste also eigentlich vorher schließen und dann wieder öffnen.


Weiß einer, wie DAS gehen könnte? Interval tuts übrigens net für dieses Problem.

Greetings, Deepsky
DeepSky ist offline   Mit Zitat antworten
Alt 19-01-2006, 19:50   #3 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
ich hab mir nicht wirklich gedanken gemacht, was deine funktion eigentlich machen soll.
problem ist allerdings: normalerweise hast du bei ner rekursion ne if-abfrage, im einen zweig ruft die funktion sich selbst wieder mit neuem parameter auf, im anderen wird ein ergebnis zurückgeliefert.

gruß, mati
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 19-01-2006, 19:55   #4 (permalink)
Herr Brot
 
Benutzerbild von mati
 
Registriert seit: Dec 2002
Beiträge: 1.692
ein einfaches beispiel für rekursion:
ActionScript:
  1. function fac(arg) {
  2.     if(arg==0) {
  3.         return 1;
  4.     }
  5.     else {
  6.         return arg*fac(arg-1);
  7.     }
  8. }

die funktion berechnet die fakultät der übergebenen zahl.
__________________
„Ich war geheilt, all right!“
mati ist offline   Mit Zitat antworten
Alt 19-01-2006, 20:29   #5 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 111
jo ich weiß wie rek funktioniert, danke


aber: muss die mausbewegung aufzeichnen.
also quasi 2 mauspositionen haben.

daraus berechne ich dann die Bewegung.

Shit ist aber, dass es garnet so einfach ist, eine minimale aktualisierungszeit, bei unterschiedlicher Abfragezeit zu bekommen, da ich ja dauernd neue bewegung brauche und so schnell es geht, die abhängige Bewegung zu aktualisieren.

kurz: Bild bewegt sich wie maus. drag ist keine lösung.

Deepsky
DeepSky ist offline   Mit Zitat antworten
Alt 19-01-2006, 20:35   #6 (permalink)
mod_rewrite
 
Benutzerbild von sonar
 
Registriert seit: Feb 2003
Ort: München
Beiträge: 15.621
Und warum geht kein setInterval oder onEnterFrame oder onMouseMove..?
__________________
RTFM
Wie man Fragen richtig stellt.

Achim Bindannmalweg

Money makes the world go round, fear makes it turn much faster.
(New Model Army)
sonar ist offline   Mit Zitat antworten
Alt 22-01-2006, 13:18   #7 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 111
Ahm,

ja, laso ich werd das nochmal mit nem Interval probieren, hoffentlich ruckelt das nciht schon wieder so . Allerdings muss ich die Aktualisierungszeit ja möglichst minimal haben.

Naja, schade, dass des so net geklappt hat. Yuhuu rekursion mano

Problem war hauptsächlich, dass ich 2 VERSHCIEDENE Mauspositionen brauche. also müsste die Fkt mir 2 verschiedene Werte für die mausposition ausgeben. Weil zur selben zeit ist die pos ja gleich.


Also wenn einer weiss, wie der Spaß funktionieren könnte, her damit.



Deepsky

Geändert von DeepSky (22-01-2006 um 13:22 Uhr)
DeepSky ist offline   Mit Zitat antworten
Alt 22-01-2006, 13:45   #8 (permalink)
Nagelneuer User
 
Benutzerbild von hazy fantazy
 
Registriert seit: Dec 2005
Beiträge: 924
Ich glaube, mit Rekursion kannst du da nicht so viel anfangen. Du kannst ja nicht innerhalb eines Funktionsaufrufs anhalten und dann x Millisekunden später wieder weitermachen. Stattdessen musst du dir jeweils die letzte Mausposition merken. Hier ist eine mögliche Lösung dafür:

ActionScript:
  1. function recordMouseMoves( mc:MovieClip){
  2.     var xOld:Number = mc._xmouse;
  3.     var yOld:Number = mc._ymouse;
  4.     mc.onMouseMove = function(){
  5.         var xNew:Number = mc._xmouse;
  6.         var yNew:Number = mc._ymouse;
  7.         trace("onMouseMove (von, nach, mc):" + [xOld,yOld,xNew,yNew, mc]);
  8.         xOld = xNew;
  9.         yOld = yNew;
  10.     }
  11. }
  12.  
  13. //auf der timeline
  14. recordMouseMoves( this);

mfg h
__________________
The fact that you've got "Replica" written on the side of your gun and the fact that I've got "Desert Eagle written on the side of mine ... :D
hazy fantazy ist offline   Mit Zitat antworten
Alt 22-01-2006, 19:09   #9 (permalink)
Neuer User
 
Registriert seit: Aug 2003
Beiträge: 111
Juh, das ist nicht blöd, vielen Dank für den Anstoß

Gruß, Deepsky

var someListener:Object = new Object();
someListener.onMouseMove = function () { ... };
Mouse.addListener(someListener);

ohne das wirds übrigens net funkten, nur falls einer das da oben so kopieren möchste

Geändert von DeepSky (22-01-2006 um 21:19 Uhr)
DeepSky 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:13 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele