Doppelter Rollover mit einem HitTest

flumentoast

Grünschnabel
Hallo
Ich habe mir ein mc gebastelt das wenn man am Bildschirm Rand mit der Maus da drüberfährt ausfährt und ein Moviefilm abgespielt wird. Das Script dazu liegt auf dem mc.

Code:
onClipEvent (enterFrame) {
	if (this.hitTest(_root._xmouse,_root._ymouse,true)) { 
		this._y += (100-this._y)/10;
	} else {
		this._y += (10-this._y)/10;
	}
}

Es jetzt so das wenn man die Maus wieder vom mc nimmt das ganze wieder einfährt was es aber nicht soll. Es soll ausgefahren bleiben und wenn man wieder mit der Maus über das mc fährt soll es wieder einklappen ohne mausklick. Wie Löse ich das am besten?
 
Hallo,

der Code ist auch so geschrieben, sodass der MC wieder zurückfährt wenn die Maus nicht mehr über ihm ist...? Ich würde das ganze so probieren:

Code:
meinbutton.onRollOver = function() {
	if(Math.abs(10-this._y) < 5) { // Wenn wir noch an der Anfangsposiotion sind
		this.onEnterFrame = function() {
			this._y += (100-this._y)/10;
			if(Math.abs(100-this._y) < 1) {
				delete(this.onEnterFrame);
			}
		}
	} else if(Math.abs(100-this._y) < 5) { // Wenn er schon ausgefahren ist
		this.onEnterFrame = function() {
			this._y += (10-this._y)/10;
			if(Math.abs(10-this._y) < 1) {
				delete(this.onEnterFrame);
			}
		}
	}
}

Dieser Code muss aber in einem Schlüsselbild stehen und nicht auf dem Button, welcher in meinem beisptiel "meinbutton" heißt.

Gruß
.
 
Hi und willkommen im Forum,

Notiere den Code nicht auf der MC-Instanz selber, sondern auf der Zeitleiste, auf der sich der Clip befindet. Ich gehe für mein Beispiel mal davon aus, der MC trüge den Instanznamen "mc":
Code:
mc.isdown = false;

var lastover = false;

var dy = 10;

mc._y = dy;

mc.onEnterFrame = function() {
	var isover = this.hitTest(_root._xmouse, _root._ymouse, false);
	if (isover != lastover) {
		lastover = isover;
		if (isover) {
			if (!isdown) {
				isdown = true;
				dy = 100;
			} else {
				isdown = false;
				dy = 10;
			}
		}
	}
	this._y += (dy - this._y) / 10;
}

Gruß
.
 
Darf ich diese aussage verweigern ? :)

Egal was ich sage einer ist anschließend beleidigt und das möchte ich nicht.
Bin doch noch Neu im Forum da darf ich mir das nicht gleich verscherzen. ;-)
 
Zurück