Tobias Menzel
Erfahrenes Mitglied
Hi,
Dein Prototype muss in etwa so aussehen:
... und er gehört über (nicht in) die for-Schleife.
Nachteil: Jedes Mal, wenn sich die Maus über einem Menüpunkt befindet, wandert das Ding kurz nach unten, da durch das RollOver auf dem darüberliegenden Link ein rollOut auf dem eigentlichen Menu-MC ausgelöst wird.
In diesem Fall wäre es vielleicht sinnvoller, jedem Menü eine ständig laufende onEnterFrame-Methode zu geben, in der Du die Kollision mit der Maus per hitTest überprüfst.
Achtung: Die onEnterFrame-Methode im Prototype muss dann auf einem eigenen Unter-MC laufen, da Du sonst die Überwachungs-onEnterFrame-Methode überschreibst.
EDIT: Noch einfacher wäre es vielleicht, wenn jeder Untermenüpunkt beim rollOver auch ein rollOver auf dem darunterliegenden Menurahmen auslöst:
Achtung: Hierfür musst Du auch den eigentlichen Menüpunkten den Index "j" als Member (idx) mitgeben!
Gruß
.
Dein Prototype muss in etwa so aussehen:
Code:
MovieClip.prototype.bewegen = function(x, y, speed) {
var mc = this;
mc.onEnterFrame = function() {
var position_box = position_box_x=position_box_y=true;
if (Math.abs(this._x-x)>1) {
this._x += (x-this._x)/speed;
position_box = false;
}
if (Math.abs(this._y-y)>1) {
this._y += (y-this._y)/speed;
position_box = false;
}
if (position_box && position_box_x && position_box_y) {
this._x = x;
this._y = y;
delete this.onEnterFrame;
}
};
};
Nachteil: Jedes Mal, wenn sich die Maus über einem Menüpunkt befindet, wandert das Ding kurz nach unten, da durch das RollOver auf dem darüberliegenden Link ein rollOut auf dem eigentlichen Menu-MC ausgelöst wird.
In diesem Fall wäre es vielleicht sinnvoller, jedem Menü eine ständig laufende onEnterFrame-Methode zu geben, in der Du die Kollision mit der Maus per hitTest überprüfst.
Achtung: Die onEnterFrame-Methode im Prototype muss dann auf einem eigenen Unter-MC laufen, da Du sonst die Überwachungs-onEnterFrame-Methode überschreibst.
EDIT: Noch einfacher wäre es vielleicht, wenn jeder Untermenüpunkt beim rollOver auch ein rollOver auf dem darunterliegenden Menurahmen auslöst:
Code:
_root["menue_link_mc"+j]["menue_btn"+i].onRollOver = function() {
_root["menue_link_mc" + this.idx].onRollOver();
Gruß
.