Comunidad de diseño web y desarrollo en internet online

Problema con textHeight

Citar            
MensajeEscrito el 23 Ago 2007 12:56 am
Tengo esyte codigo que me carga la informacion de un txt, y la da formato.

Código :

//Seccion
            _root.seccion.html = true;
            _root.seccion.styleSheet = miSeccion;
            _root.seccion.text = this.seccion;
            _root.seccion.height = _root.seccion.textHeight;
            //Titulo
            _root.titulo.html = true;
            _root.titulo.autoSize = true;
            _root.titulo.styleSheet = miTitulo;
            _root.titulo._width = anchoTi;
            _root.titulo.text = this.titulo;
            _root.titulo._height = _root.titulo.textHeight;
            //Texto
            _root.texto.html = true;
            _root.texto.styleSheet = miContenido;
            _root.texto.htmlText = this.contenido;
            _root.texto._width = anchoTe;
            _root.texto.autoSize = true;
            _root.texto._height = _root.texto.textHeight + 7;


En otro swf. tengo el codigo que indica en que coordenadas debe ir segun la seccion en que se encuentre el usuario.

La seccion es a la que se le manda, de las cordenadas. Este es el codigo que manjea las coordenadas de los textos.

Código :

_root.seccion._x = _root.titulo._x = _root.texto._x =460 + 78;
_root.seccion._y = 86;
_root.titulo._y = _root.seccion._y + _root.seccion._height + entreTXT;

//esta linea es la que varia
_root.texto._y = _root.titulo._y + _root.titulo._height;

_root.back_mc.foto._x = _root.titulo._x - _root.back_mc.foto._width - 50;   
_root.back_mc.foto._y = _root.titulo._y;

Explico. se establece la posicion de seccion, despues segun estas coordinadasy su alto, se establece la coordenada del titulo y asi mismo se establece el texto segun el titulo.

Mi problema es el siguiente.
el espacio entre el titulo y el texto es mucho mas grande que el alto del titulo ,primero que nada
Segundo, ese espacio, cuando lo veo en un servidor local, tiene un cierto espacio, pero cuando lo subo al hosting, ese espacio es menor.

Alguien sabe por que pasa eso y como puedo arreglar para que tome la altura extacat del titulo?
de antemano gracias

Por mantecoso

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ago 2007 03:53 am
tal vez tenga que ver con el "entreTXT" de la linea anterior, y si no te resulta, pues haz que texto._y =0 y luego le sumas titulo._y y despues le sumas el alto del titulo.

tambien checa el tamaño de la pelicula en el browser por que eso termina afectando.

Haaa y tambien RECUERDA que es distinto el alto del CAMPO DE TEXTO, que el alto del TEXTO.

puede que el campo de texto tenga espacio para 4 lineas y tu nada mas estes usando 2 y las otras dos no laz haz ajustado con un autosize por lo tanto el tamaño del campo es de 4lineas por los pixeles de alto de la fuente.

Checalo, bye ^^

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 23 Ago 2007 04:50 pm
Gracais por la respuesta
el "entreTXT" es solo de 5 pixeles. Y revise los _height y textHeight, Estan bien.
El campo de tetxo de titulo tien una solo linea, y esta como

Código :

root.titulo.autoSize = true;


Para ver que es lo que pasaba, cree una peliculo que quedara en la parte de atras del titulo. Lo que note, fue que no se por que esta agregando un linea mas.
Este es la variable que va en titulo

Código :

&titulo=<html><span class="titulo1">CON PLANTA EN CHILE</span><br/><span class="titulo2">Y SISTEMAS PROPIOS...</span></html>


Lo que me parecio raro es que el campo texto que viene despues, tambien le puse una pelicula a traves para ver su alto, para mi sorpres esta no agregaba una linea extra.

No se que puede ser que me este agregando un linea extra en el titulo y no se me ocurre como quitarle. Si alguien se le ocurre le agradeceria.

Por mantecoso

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Ago 2007 10:29 pm
Sólo es una sospecha, pero ¿has probado quitando las etiquetas "<html>" Es posible que flash lo esté interpretando como bloque, por otro lado, si no vas a mostrar este texto como html sino sólo dentro de la película, la etiqueta es innecesaria (y además, flash no la reconoce). Sólo es una sospecha, pero prueba a ver.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Ago 2007 07:01 pm
Lo probe y si, me quito un poco de espacio, gracias, pero aun queda un espacio que no se por que esta, ademas me sucede algo que nunca me habia pasado, quizas alguien me pueda responder.
(Posteo imagenes para la referencia)
Cuando ejecuto el SWF de un browser en local, tengo un cierto espacio, y cuadno es desde el servidor, el espacio es otro.

loacal:

remote:


Explico los cuadrados en la foto. El azul es el "_height" de titulo y el verde es el "textHeight" del titulo.

Nota: Cuando pongo los cuadros en para que me midan el texto, este no tiene el espacio extra.

saludos

Por mantecoso

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2007 07:12 pm
Mmmmm ¿cómo cargas el archivo txt, con loadVars o con XML?

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 24 Ago 2007 07:13 pm
Esta es la funcion que carga los texto. loadVars

Código :

function cargarTextos(texturl,anchoTi,anchoTe):Void
   {
      var miSeccion=new TextField.StyleSheet();
       miSeccion.setStyle("html", {fontFamily: 'Arial', color: '#233C79', fontSize:'14px',fontWeight:'bold', fontStyle:'italic'});
      var miTitulo=new TextField.StyleSheet();
       /*miTitulo.setStyle("html", {fontFamily: 'Arial', fontSize:'23px',fontWeight:'bold',leading:'0'});
       miTitulo.setStyle(".titulo1", {color:'#9CC6DF'});
       miTitulo.setStyle(".titulo2", {color:'#233C79', fontStyle:'italic'});*/
       miTitulo.setStyle("html", {fontFamily: 'Arial', fontSize:'23px',fontWeight:'bold',leading:'0'});
       miTitulo.setStyle(".titulo1", {fontFamily: 'Arial',fontSize:'23px',fontWeight:'bold',leading:'0', color:'#9CC6DF'});
       miTitulo.setStyle(".titulo2", {fontFamily: 'Arial',fontSize:'23px',fontWeight:'bold',leading:'0', color:'#233C79', fontStyle:'italic'});
       var miContenido=new TextField.StyleSheet();
       miContenido.setStyle("html", {fontFamily: 'Arial', color: '#000000', fontSize:'12px',leading:'0'});
       miContenido.setStyle(".titulo1", {color:'#9CC6DF',fontWeight:'bold'});
      texturl = _folder + texturl;
      var objetoLoad:LoadVars = new LoadVars();
      objetoLoad.load (texturl);
      objetoLoad.onLoad = function (exito:Boolean)
      {
         if (exito)
         {
            //Seccion
            variables._cargatxt = 1;
            _root.seccion.html = true;
            _root.seccion.styleSheet = miSeccion;
            _root.seccion.text = this.seccion;
            _root.seccion.height = _root.seccion.textHeight;
            //Titulo
            _root.titulo.html = true;
            _root.titulo.autoSize = true;
            _root.titulo.styleSheet = miTitulo;
            _root.titulo._width = anchoTi;
            _root.titulo.text = this.titulo;
            _root.titulo._height = _root.titulo.textHeight;
            //Texto
            _root.texto.html = true;
            _root.texto.autoSize = true;
            _root.texto.styleSheet = miContenido;
            _root.texto.htmlText = this.contenido;
            _root.texto._width = anchoTe;
            _root.texto.autoSize = true;
            _root.texto._height = _root.texto.textHeight + 7;
            if (this.contenido1)
            {
               _root.texto1.html = true;
               _root.texto1.styleSheet = miContenido;
               _root.texto1.htmlText = this.contenido1;
               _root.texto1._width = anchoTe;
               _root.texto1.autoSize = true;
               _root.texto1._height = _root.texto.textHeight + 7;
            }
         }else
         {
            _root.seccion.text = "Indefinido";
            _root.titulo. text = "Indefinido";
            _root.texto.text = ("No se pudo cargar el archivo, porfavor contactarse con el administrador");
         }
      }
       
   }// termino de funcion

Por mantecoso

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Ago 2007 08:05 pm
Ok, sin ganas de fregarte la paciencia y sólo por descartar, te recomiendo que uses XML en vez de loadVars. Puedes ver un tuto aqui: http://www.cristalab.com/tutoriales/12/tutorial-de-xml-en-flash

Pero no te austes, en tu caso no necesitas navegar por los nodos del XML, lo único que necesitas es ignorar los espacios en blanco y parsear el texto. A ver un ejemplo:

reemplazamos estas líneas:

mantecoso escribió:


var objetoLoad:LoadVars = new LoadVars();
objetoLoad.load (texturl);


por:

Código :

var objetoXML:XML = new XML();
objetoXML.ignoreWhite = true;
objetoXML.load(texturl);


y este evento:

mantecoso escribió:


objetoLoad.onLoad = function (exito:Boolean)

{

if (exito)

{
...


por:

Código :

objetoXML.onLoad = function(exito:Boolean)
{
  if(exito)
  {
       objetoXML.parseXML(this.toString());
...


Creo que por ahí va la cosa...

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.