likedeeler
Grünschnabel
Hi,
ich möchte ein Menü bauen, dessen Felder beim Rollover größer werden und dabei die benachbarten Felder verdrängen, d.h. kleiner machen. Das ganze soll nach Art einer gedämpften Schwingung ablaufen, d.h. erst etwas überschießen, dann wieder etwas kleiner werden, usw. Mit den normalen Easing-Routinen bekomme ich das bislang nicht hin. Zusätzlich sollen die Nachbarfelder reagieren, als ob ihre Grenzen mit elastischen Federn verbunden wären. Also eigentlich zwei Probleme...
Die Physikbuch-Formeln dazu sind einigermaßen kompliziert, und ich kapiere sie auch nicht so ganz. Hat jemand so etwas schon mal gebaut?
Ein gutes Beispiel für das, was ich meine findet sich auf www.mcdonalds.de.
Bisher benutze ich diesen Code, den jeder Movie Clip mitbekommt:
Bei Rollover (isUpscaling == 1) wird vergrößert, bei Rollout (isUpscaling == 0) wird verkleinert. Das sieht gut aus, normales Easing eben, aber es fehlt die Schwingung und auch die Auswirkungen auf die anderen Felder (d.h. Verdrängung benachbarter Movie Clips).
Thx und Gruß
P.S. Ja, ich habe die Easing-Threads durchsucht, aber so ganz passte kein Beitrag. Ist meine erste Frage, hoffentlich verständlich. Ansonsten macht die McDonald's-Seite, glaube ich, alles sonnenklar...
ich möchte ein Menü bauen, dessen Felder beim Rollover größer werden und dabei die benachbarten Felder verdrängen, d.h. kleiner machen. Das ganze soll nach Art einer gedämpften Schwingung ablaufen, d.h. erst etwas überschießen, dann wieder etwas kleiner werden, usw. Mit den normalen Easing-Routinen bekomme ich das bislang nicht hin. Zusätzlich sollen die Nachbarfelder reagieren, als ob ihre Grenzen mit elastischen Federn verbunden wären. Also eigentlich zwei Probleme...
Die Physikbuch-Formeln dazu sind einigermaßen kompliziert, und ich kapiere sie auch nicht so ganz. Hat jemand so etwas schon mal gebaut?
Ein gutes Beispiel für das, was ich meine findet sich auf www.mcdonalds.de.
Bisher benutze ich diesen Code, den jeder Movie Clip mitbekommt:
PHP:
// scaleMax - maximum scaling in percent
// scaleMin - minimum scaling in percent
// upscalingFactor - scaling factor for enlargement
// downscalingFactor - scaling factor for reduction
MovieClip.prototype.scale =
function(scaleMax, scaleMin, upscalingFactor, downscalingFactor) {
if (this.isUpscaling == 1) {
this._xscale += (scaleMax - this._xscale) / upscalingFactor;
this._yscale += (scaleMax - this._yscale) / upscalingFactor;
}
if (this.isUpscaling == 0) {
this._xscale += (scaleMin - this._xscale) / downscalingFactor;
this._yscale += (scaleMin - this._yscale) / downscalingFactor;
}
}
Bei Rollover (isUpscaling == 1) wird vergrößert, bei Rollout (isUpscaling == 0) wird verkleinert. Das sieht gut aus, normales Easing eben, aber es fehlt die Schwingung und auch die Auswirkungen auf die anderen Felder (d.h. Verdrängung benachbarter Movie Clips).
Thx und Gruß
P.S. Ja, ich habe die Easing-Threads durchsucht, aber so ganz passte kein Beitrag. Ist meine erste Frage, hoffentlich verständlich. Ansonsten macht die McDonald's-Seite, glaube ich, alles sonnenklar...