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

Dudas sobre cajas de texto

Estas en el tema de Dudas sobre cajas de texto en el foro de Flash y Actionscript en Foros del Web. Hola, tengo un par de dudas sobre cuadros de texto en flash y quería ver si me podíais ayudar. 1ª ¿Se puede hacer que el ...
  #1 (permalink)  
Antiguo 28/08/2008, 03:33
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 15 años, 11 meses
Puntos: 1
Dudas sobre cajas de texto

Hola,

tengo un par de dudas sobre cuadros de texto en flash y quería ver si me podíais ayudar.

1ª ¿Se puede hacer que el tamaño de la caja de texto se ajuste al contenido?

2ª ¿Se puede hacer que una caja de texto varie su posición respecto a la posicion de otra?

O sea, tengo una caja de texto donde cargo parrafos de diferentes longitudes y debajo de ésta hay otra caja que debe guardar siempre la misma distancia respecto del final del párrafo.

Espero que podáis darme alguna pista. Gracias.
  #2 (permalink)  
Antiguo 28/08/2008, 08:20
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años
Puntos: 22
Respuesta: Dudas sobre cajas de texto

Hola,
Para esto tienes que utilizar campos de texto DINAMICOS.
Si buscas en la ayuda de FLASH > ACTIONSCRIPT, encontrarás la clase TEXTFIELD que tiene todas las propiedades necesarias para manejar los campos de texto.
En principio necesitarás las propiedades siguientes:

_x
_y
_width
_height
textWidth
textHeight

Búscalas en la ayuda y verás como te sirven.

Saludos
__________________
Compartir es vivir
www.programador-php.com
  #3 (permalink)  
Antiguo 29/08/2008, 04:06
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Dudas sobre cajas de texto

Vale, muchas gracias porque he logrado bastante pero me he quedao atorado en una cosa

Tengo esto:

Código:
txt_cont.autoSize = "left";
var alto = txt_cont.textHeight;
txt_data._y = 144.2 + alto;
Esto sería demasiado fácil, ¿no? xD

Parece que funciona porque el textfield "txt_data" aparece a 142.2 + alto, el problema es que no sé porque alto siempre da 15.

Me voy a atrever a decir que... ¿Tengo que hacer una función que revise la variable "alto" y cambie el valor de la posicion _y de txt_data? ¿Realmente sé lo que estoy diciendo?
  #4 (permalink)  
Antiguo 31/08/2008, 04:24
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años
Puntos: 22
Respuesta: Dudas sobre cajas de texto

Hola,
Si el contenido del texto "txt_cont" no lo modificas, es decir que no cambias el texto que contiene, es normal que te de el mismo valor siempre. La diferencia entre "_height" y "textHeight" es que el primero te da el alto de la caja y el segundo el alto del texto que si es mayor que el de la caja, dejará oculto el texto que se salga de la caja. En tu caso, si quieres que la caja se ajuste al texto, tienes que esribir lo siguiente:

txt_cont._height=txt_cont.textHeight+5; //LE SUMO 5 PORQUE A VECES NECESITA UN POCO MÁS

después asignas la variable:
var alto = txt_cont._height; // FIJATE QUE ESTOY ASIGNANDO EL _height

Saludos
__________________
Compartir es vivir
www.programador-php.com
  #5 (permalink)  
Antiguo 01/09/2008, 03:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Dudas sobre cajas de texto

Hola exangel,

Muchas gracias por tu ayuda. Casi lo tengo. Este es el código que pongo en la escena principal y en dos botones:

Código:
txt_cont.autoSize = true;
var alto = txt_cont._height;
var fijo:Number = 144;
txt_data._y = alto + fijo;
lo que me has dicho de txt_cont._height=txt_cont.textHeight+5; no me funciona y creo que es porque el texto se carga de un txt mediante loadVars, así que he seguido con el autoSize.

En la animación, cada vez que pulso uno de los botones cambia el texto y por consiguiente el tamaño de la caja que lo contiene. El problema es que parece que la variable "alto" me da el valor de la caja de texto de la que viene y no de la que se muestra actualmente en pantalla.

Ejemplo:

Si la caja txt_cont mide 100 y le doy al botón, la nueva altura de la caja con el nuevo texto es 50, pero txt_data se coloca como si txt_cont midiera 100. Si le vuelvo a dar y txt_cont mide ahora 200, txt_data se colocará como si midiera 50. Y así ad infinitum.

Yo creo que si el txt_cont.autoSize = "left"; está delante de var alto = txt_cont.textHeight; la variable alto tendría que dar el nuevo tamaño de la caja, pero por lo visto no es así. ¿Alguna idea de lo que ocurre?
  #6 (permalink)  
Antiguo 01/09/2008, 05:53
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años
Puntos: 22
Respuesta: Dudas sobre cajas de texto

Hola,
Creo que todo el problema te viene por dos razones:
no deberías utilizar "autosize" y debes testar el tamaño del texto cuando se haya cargado el texto, es decir, con el evento ONLOAD de LOADVARS.
Te he hecho un ejemplo en la siguiente dirección:

www.programador-php.com/flash_posicionar_textos

He automatizado la carga de los TXT pero tienes que fijarte en cómo se posicionan.
Espero que te sirva.
__________________
Compartir es vivir
www.programador-php.com
  #7 (permalink)  
Antiguo 01/09/2008, 14:07
 
Fecha de Ingreso: mayo-2008
Mensajes: 163
Antigüedad: 15 años, 11 meses
Puntos: 1
Respuesta: Dudas sobre cajas de texto

Eso era, cambié lo que me has dicho y por fin funciona. Me suena que no es la primera vez que me ocurre lo de no meter las acciones en el evento onload. No me volverá a pasar.

Muchas gracias por las molestias que te has tomado.
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:28.