Help with dynamic pic fade tutorial

I used the tutorial from here for some experimenting on loading jps’s dynamically and being able to scroll through.
//Code written by sbeener (suprabeener)

When the picture fades in, it jumps like one pixel to the left on the very last fade in.

So it looks like if you did a tween fade and accidently moved your last keyframe in the tween.

BUT

This is all action script and is only using the _alpha…

Why is this happening?

//Code written by sbeener (suprabeener)
/*
i wrote this code, but you can use and abuse it however you like.
the methods are defined in the order which they occur to make it
easier to understand.
*/
// variables ------------------------------------------
// put the path to your pics here, include the slashes (ie. “pics/”)
// leave it blank if they’re in the same directory
this.pathToPics = “animation/”;
// fill this array with your pics
this.pArray = [“image0.jpg”, “image1.jpg”, “image2.jpg”, “image3.jpg”, “image4.jpg”, “image5.jpg”, “image6.jpg”, “image7.jpg”, “image8.jpg”, “image9.jpg”];
this.fadeSpeed = 20;
this.pIndex = 0;
// MovieClip methods ----------------------------------
// d=direction; should 1 or -1 but can be any number
//loads an image automatically when you run animation
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
MovieClip.prototype.changePhoto = function(d) {
// make sure pIndex falls within pArray.length
this.pIndex = (this.pIndex+d)%this.pArray.length;
if (this.pIndex<0) {
this.pIndex += this.pArray.length;
}
this.onEnterFrame = fadeOut;
};
MovieClip.prototype.fadeOut = function() {
if (this.photo._alpha>this.fadeSpeed) {
this.photo._alpha -= this.fadeSpeed;
} else {
this.loadPhoto();
}
};
MovieClip.prototype.loadPhoto = function() {
// specify the movieclip to load images into
var p = _root.photo;
//------------------------------------------
p._alpha = 0;
p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function() {
var i, l, t;
l = this.photo.getBytesLoaded();
t = this.photo.getBytesTotal();
if (t>0 && t == l) {
this.onEnterFrame = fadeIn;
} else {
trace(l/t);
}
};
MovieClip.prototype.fadeIn = function() {
if (this.photo._alpha<100-this.fadeSpeed) {
this.photo._alpha += this.fadeSpeed;
} else {
this.photo._alpha = 100;
this.onEnterFrame = null;
}
};
// Actions -----------------------------------------
// these aren’t necessary, just an example implementation
this.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
this.changePhoto(-1);
} else if (Key.getCode() == Key.RIGHT) {
this.changePhoto(1);
}
};
Key.addListener(this);

Ok, ASSIDE from this code
I just tried taking a movie and tweening
it with an alpha fade, I noticed it also does this… the picture (not the frame) but content shifts a little at the end.

What gives??

Is there are special way around this in FLASH? Or is this a bug when using alpha on a movie clip?

I could have sworn someone once told me that the reason for this flash bug has to do with mc’s falling on a fraction x or y axis. So for ex, if your faded mc 's x position is 38.7 then change it to 38.

I personally think fades always look better never going past 1 or 99%

Could you send me the link for the tutorial where you got the dynamic pic fade? thanks

It’s called the pixel-shift, and it’s a well-known bug. Each time MM releases a new version of their player they say they have solved it but they never do :angry:

You can solve that by setting the _alpha to 99 instead of 100 (or less if this still doesn’t do anything).

And Carlyn, tutes are in the tute section :slight_smile:

pom :phil: