salve a tutti avevo postato poco fa sempre riguardo ad uno slideshow..e poi impazzendo vari giorni ne ho trovato uno molto, ma molto, più semplice che ho adattato...
e al quale ho aggiunto una classe transition (zoom).
il mio problema ora è un altro. (questo anche se non è porprio quello che volevo..si avvicina molto.) Ma quando faccio lo zoom indietro (in avanti non funziona) fa un leggero sfarfallio che è molto fastidioso. io credo sia dovuto al tipo di immagini (grayscale) e anche alla velocità iniziale.
se qualcuno vuole darmi una mano gliene sarei gratissima
devo dare stasera sta robba!
VVoVe:
questo è il codice diciamo principale:
Codice PHP:
import mx.transitions.*;
import mx.transitions.easing.*;
MovieClip.prototype.__zoom = function () {
var obj:Object = new Object ({type:Zoom, direction:1, duration:20, easing:Bounce.easeOut, startPoint:5, shape:"SQUARE"});
TransitionManager.start (this, obj);
};
// Loop through all the images that have been loaded into the
// slideshow
for (var i = 1; i<=numImages; i++) {
// Check to see if see if 'i' matches the current image to be shown
if (i == _root.currentImage) {
// Check to see if the image to be shown is loaded or not
if (_root["image_dropzone"+_root.currentImage].getBytesLoaded ()>=_root["image_dropzone"+_root.currentImage].getBytesTotal ()) {
// Check to see if the image to be shown is to high for the slideshow
if (this["image_dropzone"+_root.currentImage]._height>(_root.movie_height-20)) {
// Resize the image, by measuring height, to fit the slideshow
var percent = 100*((_root.movie_height-20)/this["image_dropzone"+_root.currentImage]._height);
this["image_dropzone"+_root.currentImage]._xscale = percent;
this["image_dropzone"+_root.currentImage]._yscale = percent;
}
// Check to see if the image to be shown is to wide for the slideshow
if (this["image_dropzone"+_root.currentImage]._width>(_root.movie_width-20)) {
// Resize the image, by measuring width, to fit the slideshow
var percent = 100*((_root.movie_width-20)/this["image_dropzone"+_root.currentImage]._width);
this["image_dropzone"+_root.currentImage]._xscale = percent;
this["image_dropzone"+_root.currentImage]._yscale = percent;
}
// Check to see if the image has been shown yet
if (_root.imageShown == 0 && _root.currentImage != _root.oldImage) {
// Show the image and prep it for fading
this["image_dropzone"+_root.currentImage]._visible = true;
this["image_dropzone"+_root.currentImage]._alpha = 0;
_root.imageShown = 1;
// If the image has already been shown and preped
} else {
// Check to see if the images needs to be faded in
if (_root.currentImage != _root.oldImage && _root.fade>0) {
// Fade in the image
this["image_dropzone"+_root.currentImage]._alpha = 100*(_root.counter/(_root.fade*_root.second));
// If the image does not need to be faded in
} else {
// Show the image
this["image_dropzone"+_root.currentImage]._alpha = 100;
}
// Move the image to the middle of the slideshow screen
this["image_dropzone"+_root.currentImage]._x = (_root.movie_width-this["image_dropzone"+_root.currentImage]._width)/2;
this["image_dropzone"+_root.currentImage]._y = (_root.movie_height-this["image_dropzone"+_root.currentImage]._height)/2;
// Check to see if captions should be shown
if (_root.captions == true || _root.captions == "true") {
// Make the captions box visible and load the caption text for the current image
_root.caption._visible = true;
_root.caption.tb_caption.text = xmlData.slideshow[1].images[i-1].image[1].caption.value;
// If captions should not be shown
} else {
// Hide the captions box
_root.caption._visible = false;
}
// Swap depths of caption box to make sure its on top of the current image shown
_root.caption.swapDepths (numImages+3);
}
// zoom lento dell'immagine
// If the current image has not been fully loaded, hide it
} else {
this["image_dropzone"+i]._visible = false;
}
// Check to see if 'i' is the old image
} else if (i == _root.oldImage && _root.fade>0) {
// Fade the old image out
this["image_dropzone"+_root.oldImage]._alpha = 100-(100*(_root.counter/(_root.fade*_root.second)));
// If 'i' is not the current image or the old image, hide image 'i'
} else {
this["image_dropzone"+i]._visible = false;
}
}
this["image_dropzone"+_root.currentImage].__zoom ();
// Increment the counter
_root.counter++;
// Check to see if the counter has exceeded the fade and time to show the image
if (_root.counter>((_root.time+_root.fade)*_root.second)) {
// Reset the counter
_root.counter = 0;
// Set the current image as the old image
_root.oldImage = _root.currentImage;
// Increment the current image
_root.currentImage++;
// Check to see if the current image exceeds the number of images in the slideshow
if (_root.currentImage>numImages) {
// Check to see if the slideshow should be repeated
if (_root.repeat) {
// Set the current image back to the beginning
_root.currentImage = 1;
// If the slideshow is not to be repeated, hold on the last image
} else {
_root.currentImage = _root.numImages;
}
}
// Set the current image as not shown
_root.imageShown = 0;
}
nei frame precedenti ci sono varie inizializzazioni..
grazie a chiunque sia così gentile da darci un'occhiata.