Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 23-06-2005, 10:22   #1 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
verzögerung mit as einbauen

Hallo, ich würde gerne eine abbrems-funktion schreiben.

Theoretisch nehme ich eine if-abfrage und setze den bewegungswert, wenn er <0 immer ein bisschen hoch.
wenn >0 immer ein bisschen runter.
dann runde ich die zahl auf 1 stelle hinter dem komma.

als nächstes ruft sich die funktion selbst wieder auf - hier liegt das problem. Die _root.speed wird so schnell auf 0 gesetzt, dass man kein abbremsen wahrnimmt. wie kann ich da eine vrzögerung einbauen, damit man das abbremsen auch sieht??
vielleicht eine zeitliche verzögerung von 500ms oder sowas...ist das machbar?


Code:
function speedbremsen () {
	if (_root.speed==0.1 || _root.speed==-0.1 ||_root.speed==0) {
		_root.speed=0;
		}
	else if (_root.speed>0.1) {
		_root.speed = _rot.speed - 0.1;
		runden ();
		bremsen ();
		}
	else {
		_root.speed = _rot.speed + 0.1;
		runden ();
		bremsen ();
		}
}

Geändert von Cysign (23-06-2005 um 10:24 Uhr)
Cysign ist offline   Mit Zitat antworten
Alt 23-06-2005, 11:10   #2 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
ActionScript:
  1. setInterval(speedbremsen,500)  // function ohne ()
  2.  
AAI ist offline   Mit Zitat antworten
Alt 23-06-2005, 11:35   #3 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
uffsa, gar nicht so einfach. damit zerschieß ich mir das ganze nur...
ich glaub ich fang das ganze nochmal neu an und setz mich in wenig mit intervall auseinander.
Cysign ist offline   Mit Zitat antworten
Alt 23-06-2005, 11:41   #4 (permalink)
AAI
 
Benutzerbild von AAI
 
Registriert seit: May 2004
Beiträge: 327
start:

ActionScript:
  1. a = setInterval(function,ms)

Intervall wird das erste mal nach
der angegebenen zeit ausgeführt,
nicht nach aufruf.

abbruch erfolgt durch:

ActionScript:
  1. clearInterval(a)
AAI ist offline   Mit Zitat antworten
Alt 23-06-2005, 12:56   #5 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
okay, soweit bin ich auch schon gekommen.
aber ich glaub, mein script wäre um einiges einfacher, wenn ich den wert der variabel speed auslesen könnte.
also dass die vorzeichen ignoriert werden.
hast du vielleicht ne ahnung, ob das funktioniert?
Cysign ist offline   Mit Zitat antworten
Alt 23-06-2005, 13:08   #6 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
so siehts im moment aus.
allerdings hab ich irgend nen fehler in der if-abfrage.
irgendwie stoppt der nicht, wenn der wert von speed kleiner als 0.1 oder größer als -0.1 ist.
wenn ich den wert auslesen könnte, wär die bedingung einfach: if (speed <= wertvon 0.1) {speed = 0; clearInterval(derinterval);}

ActionScript:
  1. on (release) {
  2. function abbremse () {
  3.     if (_root.speed <= 0.1 || _root.speed >= 0.1)
  4.         {
  5.         _root.speed = _root.speed * 0.9;
  6.         trace(_root.speed);
  7.         }
  8.     else {
  9.         _root.speed = 0;
  10.         clearInterval(derinterval);
  11.         }
  12.     }
  13.  
  14. derinterval = setInterval(abbremse, 30);}
Cysign ist offline   Mit Zitat antworten
Alt 23-06-2005, 13:14   #7 (permalink)
Co&Bold
 
Benutzerbild von Cysign
 
Registriert seit: Nov 2004
Ort: Troisdorf (bei Köln)
Beiträge: 170
*lol*
okay, ab das problem gelöst. funktioniert jetzt. hatte ein minus bei der if-abfrage vergessen.

ActionScript:
  1. if (_root.speed <= 0.1 || _root.speed >= 0.1)
  2. //
  3. if (_root.speed <= -0.1 || _root.speed >= 0.1)
Cysign 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 14:37 Uhr.

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


Copyright ©1999 – 2012 Marc Thiele