Diesen Tipp in Originalversion zeigen.

Registrierungspunkt dynamisch ändern

Leider gibt es keine vordefinierte Methode in Flash, womit man den Registrierungspunkt dynamisch ändern kann. Auf Umwegen klappt es jedoch.

mcA ist das Mc, welches mcB enthält.

Der folgende Code kommt auf die Hauptzeitleiste (bzw. der Zeitleiste, in der sich mcA befindet):

/* Beschreibung: Mc a enthaelt das Mc b, welches onPress an der Stelle vergrößert wird, an der gedrueckt wird. */

_global.tl = this; // Referenz zu _root in einer globalen Variable speichern

mcA.onPress = function()
{
     // X- und Y-Abstand von dem Punkt, auf dem gedrueckt wird und der aktuellen
     Position von mcA
     var disX = _global.tl._xmouse - this._x;
     var disY = _global.tl._ymouse - this._y;
     // Auesseres Mc (mcA) an die Position der Maus verschieben
     this._x = _global.tl._xmouse;
     this._y = _global.tl._ymouse;
     // Inneres Mc (mcB) entgegengesetzt bewegen, damit die Position auf der Bühne
     unveraendert bleibt.
     this.mcB._x -= disX;
     this.mcB._y -= disY;
     // Vergroessern
     this._xscale = this._yscale = 300;
};

mcA.onRelease = function()
{
     // Auf Normalgroesse verkleinern
     this._xscale = this._yscale = 100;
};

Autor: P. Nazari ()


Copyright (c) 2002-2005 by Andreas Schroth

URL: www.computer-tipps.net/webdesign159.html