Foros del Web » Creando para Internet » Flash y Actionscript »

codigos no aceptan PRELOAD

Estas en el tema de codigos no aceptan PRELOAD en el foro de Flash y Actionscript en Foros del Web. Hola tengo una galeria de imagenes el cual funciona con codigos y MC. la galeria funciona muy bien y todo. tengo 2 escenas, cuando le ...
  #1 (permalink)  
Antiguo 12/03/2007, 11:11
 
Fecha de Ingreso: noviembre-2004
Mensajes: 496
Antigüedad: 19 años, 5 meses
Puntos: 0
codigos no aceptan PRELOAD

Hola tengo una galeria de imagenes el cual funciona con codigos y MC. la galeria funciona muy bien y todo. tengo 2 escenas, cuando le pongo un PRELOAD en la primera Escena y publico mi SWF, el PRELOAD no funciona no aparece la 1ra. escena, demora en cargar la galeria, no aparece el PRELOAD y es necesario ya que es pesado el archivo, alguien me podria decir porque no aparece el PRELOAD... les paso los codigos para que me digan porque no funciona la primera escena con el PRELOAD. MUCHAS GRACIAS

ESCENA 1: es un PRELOAD simple que funciona con otros tipos de codigos en la segunda escena.

if (_totalframes eq _framesloaded) {
nextScene();
}

total = getBytesTotal();
loaded = getBytesLoaded();
percent = int(loaded/total*100);
tempo = int(getTimer()/1000);
conn33K = int(total/2800)+" seconds";
conn56K = int(total/4200)+" seconds";
isdn64K = int(total/6400)+" seconds";
acarregar.barra._width = int(loaded/total*100);


ESCENA 2:


Nmcs = 32;// numero de MC´s para scrolling
espacio = 10;//espacio que se deja entre las fotos
Xc = 30;//coordenada x de la caja del scroll
Yc = 15;//coordenada y de la caja del scroll
Xo = 85;// coordenada x origen visor
Yo = 150;// coordenada y origen visor
Xf = 680;// coordenada x extremo visor (Xo + ancho)
Yf = 530;// coordenada y extremo visor (Yo = alto)
alturamax = 90;//para reescalar si la imagen es mas alta
anchmax = 705;//anchura maxima del scroll
velo = velobase=1;//velocidad base pos o neg
ajuste = false;//true: iguala los altos a alturamax
aleatorio = true;// false: no carga aleatoriamente
// bandapelicula = true; // false para quitar banda de cine
//end de variables de inicio
fondo._visible= false;
cl=new Array(0x000000,0x0000ff,0xff0000,0xffffff);
barajar(Nmcs);
examples();// delete esta linea para usar la aplicacion
function examples() {// delete esta linea para usar la aplicacion
createEmptyMovieClip("imgMC", 1);
imgMC._y = Yc;
actual = 0;
anchomas = 0;
altomas = 0;
mc = [];
A = Nmcs*2;
for (k=0; k<A; k++){
mc[k] = imgMC.attachMovie("MC"+bar[k%Nmcs],"MC"+bar[k%Nmcs],100+k);
with (mc[k]){
_x = actual;
_y= 15;
if (_height>alturamax || ajuste){
_yscale = alturamax*100/_height;
_xscale = _yscale;
}
_width>anchomas ? anchomas=_width : null;
_height>altomas ? altomas=_height : null;
actual += _width+espacio;
}
}
actual/2>anchmax ? anchura=anchmax : anchura=actual/2;
mc[A] = createEmptyMovieClip("m",0);
marco(A,Xo,Yo,Xf,Yf,5,cl[0],cl[0],8);
mc[A+2]=imgMC.createEmptyMovieClip("mascara",199);
marco(A+2,0,0,anchura,altomas+30,5,0,cl[3],20);
imgMC._x = Xc-anchomas;
bandapelicula ? bandafilm(): null;
imgMC.mascara._x = anchomas;
imgMC.setMask(imgMC.mascara);
onEnterFrame = function (){
for (k=0; k<Nmcs*2; k++){
with (mc[k]){
_x += velo;
_x-actual>=velo ? _x -= actual : null;
_x<=0 ? _x += actual : null;
condicion(k) ? borde(k) : mc1.removeMovieClip();
}
}
mc[A+5]._x=(mc[A+5]._x+ velo)%25 ;
}
function borde(k) {
mc[A+3]=mc[k].createEmptyMovieClip("mc1", 201);
marco(A+3,5,5,mc[k]._width-5,mc[k]._height-5,2,0xfff00,0xff0000,10);
mc[A+3]._xscale = 10000/mc[k]._xscale;
mc[A+3]._yscale = 10000/mc[k]._yscale;
activo = k;
}
function mmin() {
velo = 0;
xm = _xmouse;
imgMC.mascara.onMouseMove = function() {
if (Math.abs(xm-_xmouse)>30) {
velo = (Xc+imgMC.mascara._width/2-_xmouse)/20;
actpress = false;
}
};
}
function condicion(k) {
with (mc[k]) {
return (_width*100/_xscale>_xmouse && _xmouse>0
&& _height*100/_yscale>_ymouse && _ymouse>0
&& imgMC.mascara._width>imgMC.mascara._xmouse
&& imgMC.mascara._xmouse>0);
}
}
imgMC.mascara.onPress = function() {
velo = 0;
entra = true;
actpress && condicion(activo) ? openimg(activo) : null;
delete imgMC.mascara.onMouseMove;
};
imgMC.mascara.onRelease = function() {
mmin();
entra = false;
actpress = true;
};
imgMC.mascara.onRollOut = function() {
velobase * velo>=0 ? velo=velobase: velo=-velobase;
delete imgMC.mascara.onMouseMove;
};
imgMC.mascara.onRollOver = function() {
mmin();
};
}//fin de examples delete esta linea para usar la aplicacion

function barajar(clips) {
bar = [];
for (var m = 0; m<clips; m++) {
bar[m] = m;
}
if (aleatorio) {
for (var i = clips-1; i>0; i--) {
alea = Math.floor(i*Math.random());
var temp = bar[i];
bar[i] = bar[alea];
bar[alea] = temp;
}
}
}


function openimg(k) {
if (entra) {
_root.attachMovie("MC"+(bar[k%Nmcs]), "vista", 220);
boton.enabled = false;// delete para usar la aplicacion
boton._visible = false;// delete para usar la aplicacion
vista._width = Xf-Xo-3;
vista._yscale = vista._xscale;
if (vista._height>Yf-Yo-3) {
vista._height = Yf-Yo-3;
vista._xscale = vista._yscale;
}
vista._x = Xo+(Xf-Xo-vista._width)/2;
vista._y = Yo+(Yf-Yo-vista._height)/2;
vista.onPress = function() {
vista.removeMovieClip();
boton.enabled = true;// delete para usar la aplicacion
boton._visible = true;// delete para usar la aplicacion
}
}
!entra ? (vista.removeMovieClip()): null;
}


function marco(k, Xo, Yo, Xf, Yf,la, color, color2, alpha) {
with (mc[k]) {
lineStyle(la, color, 75);
beginFill(color2, alpha);
moveTo(Xo, Yo);
lineTo(Xf,Yo);
lineTo(Xf, Yf);
lineTo(Xo,Yf);
lineTo(Xo, Yo);
endFill();
}
}


function bandafilm(){
mc[A+5]=imgMC.createEmptyMovieClip("banda",5);
marco(A+5,anchomas-25, 0,anchomas+anchura+25, altomas+30, 0, cl[0], cl[0], 80);
for (b=0; b<=anchura+50; b+=25){
marco(A+5,-25+b+anchomas,4,-25+b+10+anchomas , 11, 0,cl[3],cl[3], 80);
marco(A+5,-25+b+anchomas, altomas+19,-25+b+10+anchomas , 26+altomas, 0,cl[3],cl[3], 80);
}
}


//delete la siguiente funcion para usar la aplicacion
boton.onPress = function() {
mc[A].removeMovieClip();
texto._visible = false;
Nmcs = 1+random(11);
espacio = random(30);
Xc = 10*random(15);
Yc = 10*random(15);
alturamax = 30+10*random(20);
anchmax = 190+20*random(30);
velo = velobase=2+random(2);
Xo = Xc;
Yo = alturamax+Yc+35;
Xf = 795-Xc;
Yf = 595;
ajuste = !ajuste;
bandapelicula = true*(random(5)>=2)
barajar(11);
examples();
cl[3]=0xffffff;
cl[0]=0x000000;
fondo._visible= false;
if (random(5)==1){ cl[0]=0xffffff;cl[3]=0x000000;fondo._visible= true;}
if (random(5)==1){ cl[0]=0x0000ff;cl[3]=0xffffff;fondo._visible= true;}
};



Porque no me vizualiza la ESCENA 1 con el PRELOAD?
que esta mal en el codigo?
  #2 (permalink)  
Antiguo 12/03/2007, 14:20
Avatar de sheshu  
Fecha de Ingreso: abril-2006
Ubicación: En too el medio
Mensajes: 160
Antigüedad: 18 años
Puntos: 0
Re: codigos no aceptan PRELOAD

hola,

el código
Código:
if (_totalframes eq _framesloaded) {
nextScene();
}
tendrás que meterlo en algún tipo de bucle, tal y como lo muestras, parece que sólo hace la comprobación una vez.

además, yo actualizaría el código ya que el uso del operador eq y de las propiedades _framesloaded y _totalframes se está quedando desfasado, ¿qué versión de flash usas?

sería algo así:
Código:
this.onEnterFrame = function() {
	total = getBytesTotal();
	loaded = getBytesLoaded();
	percent = int(loaded/total*100);
	tempo = int(getTimer()/1000);
	conn33K = int(total/2800)+" seconds";
	conn56K = int(total/4200)+" seconds";
	isdn64K = int(total/6400)+" seconds";
	acarregar.barra._width = int(loaded/total*100);
	if (getBytesTotal()==getBytesLoaded()) {
		delete this.onEnterFrame;
		nextScene();
	}
};
tambien puedes tener problemas con el preloader si tienes muchos clips con la opción de exportar en el primer frame.

espero que esto te ayude, un saludo,

sheshu
__________________
sheshu ::: www.tutoriales-flash.com
  #3 (permalink)  
Antiguo 12/03/2007, 18:02
 
Fecha de Ingreso: noviembre-2004
Mensajes: 496
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: codigos no aceptan PRELOAD

Hola SHESHU uso flash 8 y ya hice el cambio del codigo del PRELOAD.
Ahora me vizualiza cuando el preload esta en 100% y pasa a la escena
de la galeria de imagenes, pero no vizualiza toda la carga.

Tambien como dices, en la segunda escena de la galeria uso
varios CLIPS y exporta en el primer fotograma,
no se que hacer si quieres te puedo pasar el FLA por el
privado te paso mi mail.

Última edición por heba80; 12/03/2007 a las 18:45
  #4 (permalink)  
Antiguo 14/03/2007, 09:07
Avatar de PabloSutra  
Fecha de Ingreso: octubre-2006
Ubicación: Guadalajara, México
Mensajes: 222
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: codigos no aceptan PRELOAD

Que tal heba80:
Creo que el problema esta aqui
Cita:
if (_totalframes eq _framesloaded) {
nextScene();
}
trata de cambiarlo a:
Cita:
if (_totalframes == _framesloaded) {
nextScene();
}
Espero te sirva
SALUD!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:59.