hallo..
ich habe eine vielzahl von buttons erstellt. bei rollover vergrößert sich der eine button und die anderen sollen ausweichen.. im prinzip klappt das ausweichen recht gut, aber die buttons kehren nicht zu ihrem ursprungsort zurück (soll auch dynamisch sein). ich weiss auch wo der fehler liegt ( in der funktion fKorrXYPos.. dort werden die werte von item[i]._x bzw. _y stetig erhöht), aber nicht wie ich ihn lösen soll.. vielleicht kann mir ja jemand helfen..
danke!
Code:
item = [button0_mc, button1_mc, button2_mc, button3_mc, button4_mc, button5_mc, button6_mc, button7_mc, button8_mc];
buttonaktivpos = [0, 0]; //erster wert x, zweiter wert y
buttonaktivgröße = [0, 0]; //erster wert breite, zweiter wert höhe
item_abstand = 10;
vergrößern_min = 100;
vergrößern_max = 150;
vergrößern_speed = (vergrößern_max-vergrößern_min)/10;
//
fKorrXYPos = function () {
for (var i = 0; i<item.length; i++) {
if (item[i]._x < buttonaktivpos[0]){
h=item[i]._x-(buttonaktivgröße[0] - 40);
item[i]._x=h;
}
if (item[i]._x > buttonaktivpos[0]){
h=item[i]._x+(buttonaktivgröße[0] - 40);
item[i]._x=h;
}
if (item[i]._y < buttonaktivpos[1]){
h=item[i]._y-(buttonaktivgröße[1] - 40);
item[i]._y=h;
}
if (item[i]._y > buttonaktivpos[1]){
h=item[i]._y+(buttonaktivgröße[1] - 40);
item[i]._y=h;
}
}
};
fVergrößern = function () {
buttonaktivgröße[0] = this._width;
buttonaktivgröße[1] = this._height;
if (this._yscale<vergrößern_max) {
this._yscale += vergrößern_speed;
this._xscale += vergrößern_speed;
this._alpha -= 5;
} else {
delete this.onEnterFrame;
}
fKorrXYPos();
};
fVerkleinern = function () {
buttonaktivgröße[0] = this._width;
buttonaktivgröße[1] = this._height;
if (this._yscale>vergrößern_min) {
this._yscale -= vergrößern_speed;
this._xscale -= vergrößern_speed;
this._alpha += 5;
} else {
this._alpha = 100;
delete this.onEnterFrame;
}
fKorrXYPos();
};
fInit = function () {
for (var i in item) {
item[i].onRollOver = function() {
this.enabled = true;
//speicher x,y position des gew. buttons für vergleich
buttonaktivpos[0] = this._x;
buttonaktivpos[1] = this._y;
this.onEnterFrame = fVergrößern;
};
item[i].onRollOut = function() {
this.onEnterFrame = fVerkleinern;
};
}
};
fInit();