Verzögerung beim MC-Verschieben

B

bluewing

Hallo,

noch eine Frage: wie bekomme ich es hin, eine Verzögerung beim Verschieben eines Movieclips zu erzeugen. Wenn ich mich mit dem Mauszeiger der Mitte des MC's nähere, soll das Verschieben langsamer werden:

PHP:
buttoncont_mc._x = (Breite/2) - (buttoncont_mc._width/2);
_root.onMouseMove = function() {
	var Breite = 400;
	var Höhe = 400;
	buttoncont_mc._x = ((Breite/2) - (buttoncont_mc._width/2)) - (_xmouse - Breite/2) ;
	buttoncont_mc._y = ((Höhe/2) - (buttoncont_mc._height/2)) - (_ymouse - Höhe/2) ;

}

Hier ist noch das .fla:

menu.zip

Gruß,

Christoph
 
Hi,

Du meinst nicht zufällig so etwas?
Code:
this.onEnterFrame = function() {
	var Breite = 400;
	var Höhe = 400;
	var dx = ((Breite/2) - (buttoncont_mc._width/2)) - (_xmouse - Breite/2) ;
	var dy = ((Höhe/2) - (buttoncont_mc._height/2)) - (_ymouse - Höhe/2) ;
	buttoncont_mc._x += (dx - buttoncont_mc._x) / 4;
	buttoncont_mc._y += (dy - buttoncont_mc._y) / 4;
}

Gruß
.
 
Perfekt, danke dir

wenn ich die 4 durch 40 ersetze, habe ich genau das gewünschte Ergebnis. Nur eine Bitte noch - kanst du die beiden letzten Zeilen erklären ? ich steig da nämlich nicht durch ...

Gruß
 
Hi,

in dx und dy lege ich erst einmal die beiden Zielpunkte fest (die Du der Position direkt zugewiesen hattest). In den letzten beiden Zeilen wird nun die Position des MC schrittweise dieser Zielposition angepasst:

Mit jedem Frameaufruf wird ein Teil (bei mir ein Viertel, bei Dir nun ein Vierzigstel - je höher die Zahl, desto langsamer) der Strecke von der aktuellen bis zur Zielposition zurückgelegt. Wenn man also mit jedem Frame einen festen Teilbetrag zurücklegt (erinner Dich an das Gleichnis mit der Schildkröte, die ihr Ziel niemals erreicht), wird die Bewegung gegen Ende hin immer langsamer.

Gruß
.
 
Zurück