HTMLpointHTMLpoint HTMLpoint.com


 Scroller de texto - 1a posibilidad



Quien crea sitios web en HTML  jamás se habrá planteado el problema del desplazamiento del texto, puesto que la gestión de esta parte se le deja al browser, que es el que se ocupa de ello. Sin embargo, en Flash es necesario "adaptarse" y encontrar un modo oportuno para solucionar este inconveniente.

Flash propone una manera muy funcional en la técnica, aunque un poco menos estéticamente.

Hay dos propiedades Flash que permiten la gestión del desplazamiento del texto, estas propiedade son .scroll y .maxscroll. Asociadas con una casilla de texto, permiten gestionar la visión en líneas:

  • texto.scroll Ofrece el numero de la línea superior visibile en la casilla de texto. Este valor puede modificarse dinámicamente.

  • texto.maxscroll Muestra el limite maximo que resulta en el scroll de texto. Este valor es constante y no se puede cambiar.

Para entender mejor las dos propiedades pongamos un simple ejemplo.
Si la tabla de aquí abajo fuese una casilla de texto llamada texto:

Éste es un ejemplo para
entender de la mejor forma posible las propiedades
.scroll y .maxscroll de Flash.
Con estas propiedades y pos-

la propiedad texto.scroll ofrecería valor 1 (en tanto que se muestra en la anto la primera línea del texto) mientras que la propiedad testo.maxscroll daría valor 5 (el número  de la línea que representa el límite del campo de texto). Si aumentáramos en 1 el valor de texto.scroll (por tanto resultaría 2) tendríamos:

entender de la mejor manera las propiedades
.scroll y .maxscroll de Flash.
Con estas propiedades se puede programar el...,etc...

, por tanto la segunda linea se convierte en el límite superior y .maxscroll adopta siempre un valor igual a 5.

Teniendo estos dos valores, resulta fácil ocuparse del desplazamiento. Dándole a +1 la propiedad .scroll del campo de texto, automáticamente se desplazará hacia abajo, mientras si se da -1 para desplazamientos hacia arriba.

Crear una casilla de texto con desplazamiento

Explicaré paso a paso cómo crear una casilla de texto que puede desfilar en la pantalla a través de las propiedades .scroll y .maxscroll.

Antes de nada, añadir en un nuevo nivel de la movie, una casilla de texto y darle un nombre... por ejemplo texto, para no complicarnos. Programar ya las dimensiones que tiene que tener usando el cursor para las dimensiones del texto:

Programamos las propiedades para la nueva casilla de texto apenas creada:

Es necesario Multiline, si no la casilla de texto tiene la dimensión de una sola línea.
Seleccionamos también Disable editing para evitar cambios por parte del usuario, pero dejamos desactivada la voz Disable selection, ya que podría resultarle útil al usuario seleccionar el texto para copiarlo.

Como ya se ha dicho, este método para el scrolling es muy funcional, pero pierde estéticamente. Y esto sucede porque la casilla de texto texto tiene que tomar el valor (es decir el texto... perdonad el juego de palabras) a través de la action Set Variable (así no se podrá tener formateado del texto). Es necesario actuar de esta manera porque si el texto se añade en el momento de la creación de la casilla, esta toma altura según sea la anchura del campo y no puede cambiarse (por lo tanto no podremos elegir la dimensión que queramos). En efecto, la altura de la casilla se adapta de acuerdo con la anchura programada (sólo si hay texto dentro).

Dicho esto, incluir en el keyframe de la casilla la action:

Set Variable: "texto" = "bla bla bla"

donde, obviamente, en lugar de "bla bla bla" se incluirá el texto elegido.
En este momento, introducimos en un nuevo nivel las dos clip botón que representan el "arriba" y el "abajo" para el texto.
Para desfilar en la pantalla hacia abajo y hacia arriba, por desgracia no es suficiente aumentar o disminuir en 1 (1 línea) la propiedad .scroll, es necesario también añadir controles que permitan "parar" el scrolling una vez que se ha llegado a la última línea, para el scrolling hacia abajo, y a la primera línea, para el scrolling hacia arriba. Por lo que respecta a la primera línea, no hay problema: el valor de la primera línea será siempre igual a 1, mientras que el valor de la última línea podemos tomarlo de .maxscroll.
He aquí la action para la clip botón "arriba":

On (Release)
  Set Variable: "scr" = texto.scroll
  If (scr > 1)
    Set Variable: "texto.scroll" = scr - 1
  End If
End On

Por tanto, cuando el usuario suelta el botón, la variable scr toma el valor de la primera línea mostrada en ese momento, y después se ejecuta el control: si scr es mayor de 1 (por tanto, no es la primera línea), entonces disminuye en 1 el valor de texto.scroll de modo que la casilla se mueva una línea hacia arriba, si no, si scr es igual a 1 (estamos en la primera línea), no es mayor de 1, no pasa nada.

He aquí la action para la clip botón "abajo":

On (Release)
  Set Variable: "scr" = texto.scroll
  If (scr < texto.maxscroll)
    Set Variable: "texto.scroll" = scr + 1
  End If
End On

Cuando se suelta el botón, scr toma el valor de la primera líneaa visualizada en ese momento y después de hace el control: si scr es menor de texto.maxscroll (por eso no estamos en la última línea), entonces aumenta en uno el scroll, si no, si scr es igual a texto.maxscroll no pasa nada.

Veamos cómo resulta el ejemplo que acabamos de crear:

Para entender lo mejor posible el procedimiento, he incluido también los valores de texto.scroll y texto.maxscroll.


  Torna a inizio pagina