Hallo Leute vasteh da eine Sache nicht so wirklich, vielleicht habt ihr ja mehr Durchblick!??
Ich rufe per RollOver und RollOut ne Funktion fadeInOut (die gute alte von Salazar ) auf , was auch ohne Problem funzt, allerdings wenn ich dieselbe Funktion per OnRelease oder OnPress aufrufe wird zwar die Funktion aufgerufen , allerdings wird die OnEnterFrame nicht ausgeführt??
Guggst du hier
Klick
und hier der Code
PHP-Code:
MovieClip.prototype.fadinout = function(inorout, fadeto, speed, steps, bremsspeed) {
delete mc.onEnterFrame;
trace(mc + ' :o))) ');
//falls die schleife noch läuft wird sie zu begin beendet
var mc = this;
trace(mc + ' :o))) #' + inorout);
//var mc ist jetzt der zu fadende movieclip(mc) also this
var i = 0;
//i wird zu begin immer auf 0 gesetzt und ist später für das abbremsem zuständig
if (inorout) {
//wenn inorout true, bzw = 1 ist dann wird ausgefadet
mc.onEnterFrame = function() {
trace(mc + ' :o) ');
//die onEnterFrame schleife beginnt
i += bremsspeed;
//i wird jedesmal um den wert bremsspeed erhöht. addiert
mc._alpha -= (steps*i);
//der mc bekommt seine neuen alpha werte. steps ist der wert in welchen schritten alpha veringert werden soll. i ist zuständig fürs abbremsen.
if (mc._alpha<=fadeto) {
//wenn der wert wie weit ge-alphert werden soll erreicht bzw überschritten ist
delete mc.onEnterFrame;
//das alphern wird gestoppt, indem die schleife beendet wird
mc._alpha = fadeto;
//sichert das der mc auch wirklich exakt den wert von fadeto erhält
if (this == _level0.bottom_mc) {
unloadMovie(_level0.bottom_mc);
unloadMovie(_level0.top_mc);
loadButton();
}
}
};
} else if (!inorout) {
//wenn inorout false, bzw = 0 ist dann wird eingefadet
mc.onEnterFrame = function() {
trace(mc + ' :o( ');
//die onEnterFrame schleife beginnt
i += bremsspeed;
//i wird jedesmal um den wert bremsspeed erhöht. addiert
mc._alpha += (steps*i);
//der mc bekommt seine neuen alpha werte. steps ist der wert in welchen schritten alpha erhört werden soll. i ist zuständig fürs abbremsen.
if (mc._alpha>=fadeto) {
//wenn der wert wie weit ge-alphert werden soll erreicht bzw überschritten ist
delete mc.onEnterFrame;
//das alphern wird gestoppt, indem die schleife beendet wird
mc._alpha = fadeto;
//sichert das der mc auch wirklich exakt den wert von fadeto erhält
}
};
}
};
for (var i = 0; i<anzahl; i++) {
//_root["bild"+i]._x -= 3;
_root["bild"+i].MyId = i+1;
_root["bild"+i].bPicW = mein_xml.firstChild.childNodes[i].attributes.bPicW;
_root["bild"+i].bPicH = mein_xml.firstChild.childNodes[i].attributes.bPicH;
_root["bild"+i].bsrc = mein_xml.firstChild.childNodes[i].attributes.bsrc;
//var tweenAlpha:Tween = new Tween(_root["bild"+i], "_alpha", Elastic.easeInOut, mc._alpha, 50, 5, true);
_root["bild"+i].onRollOver = function() {
this.fadinout(0, 100, 50, 2, 1);
};
_root["bild"+i].onRollOut = function() {
this.fadinout(1, 50, 50, 2, 1);
};
_root["bild"+i].onRelease = function() {
txtBoxW = parseInt(this.bPicW);
txtBoxH = parseInt(this.bPicH);
txtBoxX = MidX - (txtBoxW/2);
txtBoxY = MidY - (txtBoxH/2);
_root.createEmptyMovieClip("BigPic", 10);
_root.BigPic.loadMovie(this.bsrc);
_root.BigPic._x = txtBoxX;
_root.BigPic._y = txtBoxY;
//_root.BigPic._alpha = 50;
_root.BigPic.fadinout(0, 10, 50, 2, 1);
};
}
Das Grosse Bild soll quasi nach klick auf das Thumbnail eingefaded werden aber es wird einfach nur angezeigt. Wieso funzt es mit dem RollOver aber net per release??
Danke