Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15-09-2004, 12:39   #1 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
Question Langsame Schleife

Hi

Ich hätte da mal ne kleine Frage. Ich hab bei dem Autorennspiel an dem ich jetzt schon etwas länger werk Powerups zusätzlich. wenn man über so etwas
drüber fahren soll z.B, die Geschwindigkeit sich für 5 Sekunden verdoppeln etc.
Ich bräuchte da halt irgendeine Art von Schleife die langsam ablauft.( for
Schleifen funktionieren da ja überhaupst nicht, mit Setinterval möcht ichs auch nicht unbedingt machen)
Am Liebsten wärs mir das ganze würde so funktionieren wie eine onenterframeFunktion die ich aus dem nichts erschaffen und auch wieder beenden kann.
Ist so was möglich??

mfg
Clemens
Clemenses ist offline   Mit Zitat antworten
Alt 15-09-2004, 12:54   #2 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
klar kannst du onEnterFrame per AS setzen und löschen...

ActionScript:
  1. meinMC.onEnterFrame = function() {
  2.     //mach was
  3.     if(austrittsbedingung) {
  4.         delete this.onEnterFrame;
  5.     }
  6. };

Ggf. ist setInterval aber die bessere Alternative. Wenn du z.B. die Geschwindigkeit für 5 sek. verdoppeln willst, setzst du das Intervall einfach auf 5000. Damit wird die Funktion nur einmal nach 5 Sekunden aufgerufen. Innerhalb der Funktion kannst du das Intervall bereits wieder löschen und die Geschwindigkeit normalisieren. Ein onEnterFrame wird hingegen bei 25 fps 125 mal durchlaufen und nur einmal passiert dann auch was...

Grüße
Sascha


PS: Schleifen funktionieren hier deswegen nicht, weil sie in einem Frame komplett durchlaufen werden. setInterval und onEnterFrame sind keine Schleifen in diesem Sinne
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 15-09-2004, 14:02   #3 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
hmm. ja es ist in meinem fall eh besser wenn es bei jeden Frame durchlauft.
Würde das unten gepostete Skript funktionieren. Es soll das Auto entsprechend seiner Geschwindigkeit herumschleudern.
Kanns nur zur Hause
ausprobieren und da hab ich kein Internet
mfg
Clemens


PHP-Code:
function ölpfütze(){
car.turnable=false
schleudern car.speed//umso höher die Geschwindigkeit umso stärker wird das Auto geschleudert geschleudert
createEmptyMovieClip("tempMC",getNextHighestDepth());

tempMC.onEnterFrame = function() {
schleudern schleudern 0.03;
car.angle car.angle + (schleudern 3);
if (
car.angle 360){car.angle car.angle 360};
if (
schleudern 1){turnable=true;};    //gegen ende zu wird das auto wieder lenkbar
if(schleudern 0.3) { 
        
delete this.onEnterFrame
    } 
};
}; 
Clemenses ist offline   Mit Zitat antworten
Alt 15-09-2004, 14:13   #4 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
das sollte prinzipiell funktionieren.
da du tempMC aber nicht mehr beötigst, würde ich ihn auch noch mit this.removeMovieClip(); entfernen.

Grüße
Sascha
__________________
12:15, press return
ludabruda ist offline   Mit Zitat antworten
Alt 15-09-2004, 14:56   #5 (permalink)
neuling
 
Registriert seit: Aug 2004
Beiträge: 198
bin etwas verwirrt, ich hab gedacht mit 'delete this' lösche
ich ja schon den movieclip

mfg
Clemens
Clemenses ist offline   Mit Zitat antworten
Alt 15-09-2004, 15:02   #6 (permalink)
Farbe ist Luxus
 
Benutzerbild von ludabruda
 
Registriert seit: May 2003
Ort: Köln
Beiträge: 2.405
nein, mit delete this.onEnterFrame löschst du das onEnterFrame.
Mit delete lassen sich nur Variablen und Referenzen löschen, keine MCs.

Grüße
Sascha
__________________
12:15, press return
ludabruda 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 19:19 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele