Movieclip exakt zur mausposition sliden

Denniz

Erfahrenes Mitglied
Hi Leute,

ich attache einen mc auf die Bühne und dieser wird anschließend maskiert.
Nun möchte ich das wenn man den cursor über die maske bewegt der mc in die entsprechende Richtung mitslidet.

Code:
stop();
Stage.scaleMode = "noScale";
Stage.align = "TL";
var root:MovieClip = this;
var container:MovieClip = root.createEmptyMovieClip("container", root.getNextHighestDepth());
var runner:MovieClip = container.createEmptyMovieClip("runner", container.getNextHighestDepth());
var mask:MovieClip = container.attachMovie("mask", "mask", container.getNextHighestDepth());
mask._width = 400;
mask._height = 300;
mask._x = 0
mask._y =0
var mc:MovieClip = container.attachMovie("mc", "mc", container.getNextHighestDepth());
mc._x = mask._width/2-mc._width/2+mask._x;
mc._y = mask._height/2-mc._height/2+mask._y;
mc.setMask(mask);
//
function scrollMC() {
	runner.onEnterFrame = function() {
		if (mask.hitTest(this._xmouse, this._ymouse, false)) {
			var px = this._xmouse+mc._x;
			var dx = -px*(mc._width-mask._width)/mask._width;
			mc._x += (dx-mc._x)/10;
		}
	};
}
scrollMC();

Soweit klappt auch alles aber ich bekomme es einfach nicht hin das der mc sich exakt zur mausposition mitbewegt.
Also wenn ich auf das Ende der Maske zeige soll der mc bis an das Ende sliden.
Hier meine fla.

Besten Gruß
 
Hi,

da Du die Maske skalierst, musst Du diese Skalierung (_xscale) bei der Berechnung des Prozentwertes mit einbeziehen.

So sollte es gehen:
Code:
function scrollMC() {
	runner.onEnterFrame = function() {
		if (mask.hitTest(this._xmouse, this._ymouse, false)) {
			var px = (mask._xmouse * mask._xscale / 100) * 100 / mask._width;
			var max = mc._width - mask._width;
			var dx = -px * max / 100;
			mc._x += (dx - mc._x )/ 10;
		}
	}
}
 

Neue Beiträge

Zurück