flash -> automatisch zu position wechseln
|CoRaX| 28.01.2004 - 08:29 2634 0
|CoRaX|
Little Overclocker
|
guten morgen!  tja hab gestern den code für ein flash file geschrieben nur leider passt irgendwas beim code nicht... kurze erkärung zum ganzen: ich hab 8 bilder zwischen denen ich mit einem links und einem rechts pfeil wechseln kann (rechter pfeil: nächstes bild, linker pfeil: vorheriges bild). die bilder sind natürlich in einem array gespeichert das verkettet ist. das funktioniert eigentlich perfekt. nun das eigentlich problem: ich habe zusätzlich noch 5 buttons die jeweils einem bild zugeordnet sind (z.b.: button 1 ist bild 1 zugewiesen, button 2-> bild 3, button 3 -> bild 5,...). Wenn man nun schon ein wenig zwischen den bildern gescrollt hat und z.b. gerade bei bild nummer 3 steht und jetzt auf button 3 (= bild 5) klickt, soll: -der kürzeste weg berechnet werden (vorheriges bild oder nächstes bild) -alle bilder die auf dem weg zum zielbild liegen für 1 sekunde angezeigt werden. ich hoffe ihr könnt mir einigermaßen folgen.....ich bin nämlich selbst schon so verwirrt das ich mich nicht mehr auskenne  und ich hab schon auf allen tutorial seiten geschaut ob ich was finde... leider ergebnislos! tja hier ist mein code: // picture-directory--------------------------------------------------
this.pathToPics = "images/";
//picutre array-------------------------------------------------------
this.pArray = ["Test01.jpg", "Test02.jpg", "Test03.jpg", "Test04.jpg", "Test05.jpg", "Test06.jpg", "Test07.jpg", "Test08.jpg"];
this.fadeSpeed = 40;
this.pIndex = 0;
//loadmovie-----------------------------------------------------------
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
//change photo--------------------------------------------------------
MovieClip.prototype.changePhoto = function(d) {
this.pIndex = (this.pIndex+d)%this.pArray.length;
if (this.pIndex<0) {
this.pIndex += this.pArray.length;
}
this.onEnterFrame = fadeOut;
};
//fade out------------------------------------------------------------
MovieClip.prototype.fadeOut = function() {
if (this.photo._alpha>this.fadeSpeed) {
this.photo._alpha -= this.fadeSpeed;
} else {
this.loadPhoto();
}
};
//load photo----------------------------------------------------------
MovieClip.prototype.loadPhoto = function() {
var p = _root.photo;
p._alpha = 0;
p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
this.onEnterFrame = fadeIn;
};
//fade in-------------------------------------------------------------
MovieClip.prototype.fadeIn = function() {
if (this.photo._alpha<100-this.fadeSpeed) {
this.photo._alpha += this.fadeSpeed;
} else {
this.photo._alpha = 100;
this.onEntaerFrame = null;
}
};
//key- press functions------------------------------------------------
this.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
this.changePhoto(-1);
} else if (Key.getCode() == Key.RIGHT) {
this.changePhoto(1);
}
};
Key.addListener(this);
//go to Position-----------------------------------------------------
//-------------------------------------------------------------------
MovieClip.prototype.gotoPosition = function(nextPos) {
while(this.pIndex !== nextPos) {
diff1 = (nextPos - this.pIndex);
diff2 = (this.pIndex - nextPos);
if( diff1 < diff2){
this.changePhoto(+1);
} else if (diff1 > diff2){
this.changePhoto(-1);
} else if (diff1 == diff2){
stop();
}
this.onEnterFrame = Check;
}
};
MovieClip.prototype.Check = function(){
var Interval;
Interval = setInterval(gotoPosition, 1000);
clearInterval(Interval);
};
und hier das Script eines buttons: on(release){
_root.gotoPosition(3);
}
ich hoffe es kann mir jemand helfen, ich steh heute nämlich echt schon an... tia -corax PS: sorry das es so lang geworden ist
|