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

Problemas comunes y otros no tan comunes de flash

Estas en el tema de Problemas comunes y otros no tan comunes de flash en el foro de Flash y Actionscript en Foros del Web. Bueno pongo este post exponiendo algunos problemas que personalmente he tenido trabajando con flash y que de buenas he podido resolver y los comparto por ...
  #1 (permalink)  
Antiguo 06/01/2007, 23:41
Avatar de dexter_x740  
Fecha de Ingreso: julio-2003
Ubicación: cd. obregon, Sonora
Mensajes: 246
Antigüedad: 14 años, 4 meses
Puntos: 1
Problemas comunes y otros no tan comunes de flash

Bueno pongo este post exponiendo algunos problemas que personalmente he tenido trabajando con flash y que de buenas he podido resolver y los comparto por si ya les ha pasado o no:

1. Jpg que no carga:

muchas veces esto es porque la ruta esta mal o asi, y que obviamente haran que la imagen no se vea, pero una vez me sucedio que la ruta estaba bien y todo y resulta que el problema era la imagen. la habia bajado de internet, era .jpg pero no cargaba, probe con muchas otras y si se veian y esta imagen no, no se mucho de imagenes pero hay un tipo de jpg llamado progresivo, el caso es que aqui el error se debia al tipo de jpg.

2. Cargo un jpg externo y quiero redimensionarlo pero no pasa nada o desaperece :

asi me paso una vez tambien, yo hacia esto:

Código PHP:
contenedor.loadMovie("foto.jpg");
contenedor._xscale=50;
contenedor._yscale=50
pero despues de hacer esto, mi jpg no se veia.
lo ideal es cargar la imagen en su tamaño original, pero si eres terco y obstinado (como yo) y quieres saber porque no se puede pues la solucion es que le hagas una precarga a la imagen y una vez que se descargue totalmente ahi la redimensiones:

Código PHP:
contenedor.onEnterFrame=function(){
c=this.getBytesLoaded();
t=this.getBytesTotal();
if(
c==t){
this._xscale=50;
this._yscale=50;
delete this.onEnterFrame;
}

creo que esto se debe a que aunque la imagen sea muy pequeña y lo pruebes en local, tienes que hacer esto despues de descargarse la imagen para que el movieclip contenedor tome el tamaño de la imagen y poder cambias su tamaño.


3. Hoja de estilo que no funciona

Si han trabajado con hojas de estilo, quiza algunos se hayan dado topes de cabeza porque el texto en un campo dinamico no aparece formateado como debiera, (como yo xD) aun despues de cargarse correctamente el archivo .css.
El problema es que se debe cargar la hoja de estilos y una vez cargada entonces asignarla al campo de texto y asignar el texto:


Código PHP:
est=new TextField.StyleSheet();
est.onLoad=function(ok){
if(
ok){
campodetexto.styleSheet=est;
//el campo de texto tiene la propiedad "html" en true no se les olvide ponerla
campodetexto.htmlText="<span class='encabezado'>ejemplo</span>";
}

es curioso pero si ponen:
campodetexto.htmlText="<span class='encabezado'>ejemplo</span>";
campodetexto.styleSheet=est;

es decir si invierten el orden, no funciona xD, igual si ponen el contenido del campo de texto fuera del evento onLoad de la hoja de estilos.

si estan cargando datos de un archivo externo .txt o .htm, primero carguen la hoja de estilos y luego el texto:

Código PHP:

est
=new TextField.StyleSheet();
lv=new LoadVars();

//cargamos la hoja de estilo y luego el texto, en ese orden.
est.load("estilos.css");
lv.load("contenido.htm");


est.onLoad=function(ok){
if(
ok){
campodetexto.styleSheet=est;
}
}

//cargamos los datos
lv.onData=function(info){
campodetexto.htmlText=info;

otro problema comun aqui seria que los datos se cargan con todo y saltos de linea, por si tienes asi en un documento .htm:

<body>
<p>este es un parrafo
</p>

<p>otro parrafo
</p>
</body>

si cargas esto en un campo dinamico, te lo cargara con todo y los espacios que hay entre los <p>, para evitar esto simplemente cambia esta propiedad del cuadro de texto:

Código PHP:
campodetexto.condenseWhite=true
y si quieres saltos de linea , entonces pon etiquetas de <br> en el documento


4. No hay sonido

una vez me paso que tenia un objeto de sonido:

Código PHP:
cancion=new Sound();
//cargo un sonido de biblioteca
cancion.attachSound("tema");
cancion.start(); 
en un momento determinado yo le bajaba el volumen a 0 a mi objeto de sonido porque le hacia un fade out y asi lo dejaba, despues tenia un sonido pero en la linea de tiempo, que habia arrastrado de la bilbioteca pero este no se escuchaba cuando le daba play a la animacion, la razon es que el objeto sound que tenia volumen 0 estaba afectando al sonido en la linea de tiempo.
puse : cancion.setVolume(100);

y el sonido de la linea de tiempo ya se escuchaba

5. campos de texto dinamico enmascarados que no muestran el texto
como ya respondi en un post:
los campos de texto dinamico que se estan mostrando a traves de una mascara no funcionan si lo enmascaras con una capa, lo que debes hacer es meter el campo dinamico en un movieclip y de igual modo usar un movieclip como mascara, y para enmascarar usa este codigo:
clipdeltexto.setMask(clipmascara);

Bueno esos son algunos asuntos que he tenido con flash y que he podido solucionar y se los comparto por si han tenido un problema similar.

Saludos.
__________________
[D3X73®]

Última edición por dexter_x740; 06/01/2007 a las 23:48
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 09:22.