Tarjetas (card)

Son los contenedores de cada posible "vista" de una pila. Aquí se disponen los objetos con los que el usuario interacctua, la única diferencia con los restantes objetos es que no se puede mover y que su tamaño siempre está regido por el de la pila. Pero también es un objeto de MetaCard así que: excepto.

Aviso

¡Asignarle un fondo!

El motivo ... Para ello, los materiales a emplear son ... y finalmente se hace efectiva esta asignación mediante la propiedad backgroundPattern que se utiliza, de forma abreviada, en la siguiente orden que se ha ejecutado en la "Message Box" y cuyo resultado se puede ver en la Figura 4-28:

set the backPattern of this card to "1003"
                  

Figura 4-28. Asignando una imagen de fondo a una tarjeta.

Por cierto, cuando quiera se puede cambiar, he incluso volver a eliminar con

set the backPattern of this card to ""
.

Y, un último aspecto de esta utilización de imágenes a tarjetas: en todos los sistemas operativos con soporte para interfaces gráficas es posible utilizar ventanas de aspecto no rectangular. Esto se puede hacer si se dispone de imágenes con colores transparentes. Puede así diseñar y utilizar, si es necesario, el aspecto de su aplicación mediante el programa de creación y edición de imágenes de su preferencia y utilizar las características de transparencia de los formatos que la soportan. La Figura 4-29 muestra un ejemplo realizado con The Gimp para la creación de una imagen en un formato libre como PNG.

Figura 4-29. Aspecto no regular de una ventana realizado con una imagen PNG con fondo transparente mediante The Gimp.

Aviso

Fer la captura corresponent...

El lector, seguro, ya se habrá percatado que puede navegar entre las pilas de una tarjeta. En el primer y segundo tutorial de MetaCard ya habrá utilizado los eventos preOpenCard y el openCard. Recuerde que el preOpenCard, se ejecuta en un momento en que todavía "no está" en la tarjeta, aunque ya puede actuar sobre sus objetos, mientras que con el openCard ya está en la misma y los objetos que contiene son visibles (los que tengan esta propiedad activa, claro está) .

Para ilustrar este punto se puede construir una pila con dos tarjetas y un número diferente de objetos en cada una, para que sea más fácil identificarla. A cada tarjeta le asociaremos un código que muestre en pantalla cuántos objetos tiene y comprobaremos visualmente cúando suceden. A continuación se puede ver la pila básica mostrando el contenido de las dos únicas tajetas que la forman para mostrar la diferencia entre los eventos preOpenCard y openCard.

El único código necesario es el siguiente que ha de estar en ambas tarjetas:

 #
 # script de la tarjeta
 #
on preOpenCard
  answer the number of controls of me titled ("preOpenCard" && "the short name of me")
end preOpenCard

on openCard
  answer the number of controls of me titled ("openCard" && "the short name of me")
end openCard
                    

Al utilizar las flechas del cursor (que es el modo por defecto, si no ha sido desactivado) para hacer el tránsito de una tarjeta a la siguiente, se observaran los dos estados que se muestran en la siguiente figura. El resultado del anvance desde la tarjeta 1 a la 2 se realiza en dos partes: primero se ejecuta el código asociado al evento preOpenCard (imagen de la izquierda) y después al openCard, mostrado en la imagen d e la derecha.