Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 25-07-2006, 09:25   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 28
Rekursion

hi, hab eingetlich bis vor kurzem nur mit Java gearbeitet, aber bis auf wenige befehle ist actionscript wie java aufgebaut. ich hab ein kleines problem zum thema rekursion. undzwar hab ich folgende methode:

Code:
function getDir():Number{
	
		tempdir = dir;
		temp = Math.round(Math.random()*100);
		if(temp < 51){
			if(temp<26){	//oben 
				dir = 0;
				trace(dir);
			}	
			else{			//unten
				dir = 1;
				trace(dir);
			}
		}
		else{
			if(temp <76){	//rechts
				dir = 2;
				trace(dir);
			}
			else{			//links
				dir = 3;
				trace(dir);
			}
		}
		if(dir == tempdir){
			trace("Richtungen sind gleich");
			dir = _root.getdir();
			trace("alte dir :" + tempdir + " , neue Dir : "+ dir);
		}
		return dir;
}
undzwar hab ich ein kleine popel anwendung geschrieben, bei der ein flieger wahlos auf dem screen rumfliegt. dazu hab ich eine methode getDir, die in bestimmten abständen aufgerufen wird und die richtung ändert.
kurz zum verständnix. ich lasse mit ein zahl zwischen 0 und 99 erstellen (temp), die zahlen werden in 4 gruppen zerteilt, also 0-24, 25-49 usw. entspricht die zahl der ersten gruppe, so wird dir auf 0 gesetzt, entspricht sie der 2. gruppe wird sie auf 1 gesetzt...
soweit funktioniert ja alles ganz gut. jetzt hab ich mir gedacht, um das genze etwas zu optimieren, wir die methode ein wenig erweitert, sodass bei einem richtungswechsel nicht zwei mal hintereinander die selbe richtung gewählt wird. dazu wird die alte richtung in tempdir gesichert und später mit der neuen dir verglichen. sind beide zahlen gleich, soll die gesammte methode getDir rekursiv aufgerufen werden.
beim debuggen tut sich beim erneuten aufruf der methode eigentlich nichts, also der zeige springt nicht wieder zum anfanng der methode um sie nocheinmal abzuarbeiten. das einzige was geschieht ist, dass dir auf undefined gesetzt wird...

hab das jetzt eben so geschrieben wie ich es auch in java geschrieben hätte, aber da die script kontrolle sagt, es ist alles richtig sollte es ja eigentlich gehen. this. und _root. hab ich auch schon vor den erneuten aufruf der methode gesetzt, hat aber auch nix gebracht.

hoffe ihr könnt mir helfen
besten dank
agn0
agn0 ist offline   Mit Zitat antworten
Alt 25-07-2006, 10:20   #2 (permalink)
:Void
 
Benutzerbild von janoshnosh
 
Registriert seit: Jun 2005
Ort: börlin
Beiträge: 931
Zitat:
dir = _root.getdir();
muss heißen
ActionScript:
  1. dir = _root.getDir();
ansonsten sieht das auch völlig ok aus.

gruß janosch
janoshnosh ist offline   Mit Zitat antworten
Alt 25-07-2006, 11:09   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2003
Beiträge: 28
ach son mist...

viel dank, das hätt ich doch nie gefunden...

AGN0
agn0 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:12 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele