Básicamente es esto lo que necesito:
Cargo unas imágenes en un mc vacío mediante un array y con sus botones y todo eso...
El código es éste, (lo encontré en un tutorial):
Cita:
Cada vez que se carga una de las cuatro imágenes, en otro MC me muevo a un frame que contiene los textos estáticos que le corresponden a esa imagen.this.pathToPics="CALAFELL2pla/";
this.pArray=["img01.jpg", "img02.jpg", "img03.jpg", "img04.jpg"];
this.fadeSpeed = 50;
this.pIndex = 0;
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
muestra = "Foto Nº"+(this.pIndex+1 )+" "+this.pArray[0];
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;
};
MovieClip.prototype.fadeOut = function(){
if (this.photo._alpha>this.fadeSpeed){
this.photo._alpha-= this.fadeSpeed;
}else{
this.loadPhoto();
}
};
MovieClip.prototype.loadPhoto = function(){
var p =_root.photo;
p._alpha = 0;
p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
muestra = "Foto Nº"+(this.pIndex+1 )+" "+this.pArray[this.pIndex];
this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function(){
var i, I, t;
I= this.photo.getBytesLoaded();
t= this.photo.getBytesTotal();
if (t>0 && t == I) {
this.onEnterFrame = fadeIn;
}else{
trace(I/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;
}
};
this.pArray=["img01.jpg", "img02.jpg", "img03.jpg", "img04.jpg"];
this.fadeSpeed = 50;
this.pIndex = 0;
loadMovie(this.pathToPics+this.pArray[0], _root.photo);
muestra = "Foto Nº"+(this.pIndex+1 )+" "+this.pArray[0];
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;
};
MovieClip.prototype.fadeOut = function(){
if (this.photo._alpha>this.fadeSpeed){
this.photo._alpha-= this.fadeSpeed;
}else{
this.loadPhoto();
}
};
MovieClip.prototype.loadPhoto = function(){
var p =_root.photo;
p._alpha = 0;
p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
muestra = "Foto Nº"+(this.pIndex+1 )+" "+this.pArray[this.pIndex];
this.onEnterFrame = loadMeter;
};
MovieClip.prototype.loadMeter = function(){
var i, I, t;
I= this.photo.getBytesLoaded();
t= this.photo.getBytesTotal();
if (t>0 && t == I) {
this.onEnterFrame = fadeIn;
}else{
trace(I/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;
}
};
El problema es que se me carga el texto mucho antes que la imagen, y quiero que se cargue después, o a la vez.
Pensé en resolverlo haciendo que el mc que contiene los textos tenga alpha=0 en principio y que cuando el "photo" tenga alpha=100, también lo tome el mc de los textos, o sea:
...
else{
this.photo._alpha=100;
this.texto._alpha=100;
this.onEnterFrame= null;
};
pero no funciona, sólo carga la foto.
También probé cambiando todos los this. por _root., y tampoco.
¿Por qué no va?
Muchas gracias.