Propiedades
y comportamiento de sprites
Hacer un sprite visible o invisible. Para realizar esto utilizaremos la orden Set the visible of Sprite___to___. Imaginemos dos sprites iguales pero de diferente color. Al comenzar la película, uno de ellos desaparece mientras que el otro aparece en el 1er cuadro. Al pasar el mouse por encima haremos que desaparezca el primero y aparezca el segundo.
- Crea dos círculos iguales pero de diferente color. Sitúalos dentro del escenario.
- Escribe el siguiente código en el guión de la película para que se ejecute nada más comenzar:
On start movieSet the visible of sprite 2 to false
end
on mouseEnterSet the visible of sprite 2 to true
end
on mouseLeave
set the visible of sprite 2 to false
go to the frame
end
Propiedades
y comportamiento de sprites
Otra forma más cómoda de hacer aparecer un gráfico ante un suceso, es utilizar la propiedad Rollover(). Podemos utilizar el primer ejemplo de la lección de la siguiente forma:
on
start movie
set the visible of sprite 2 to false end |
on
exit frame
if rollover(1) then set the visible of sprite 2 to true else set the visible of sprite 2 to false end if go to the frame end exitframe |
Propiedad
The MouseCast
Esta función comprueba si el cursor está encima de los píxeles que comprenden el dibujo. Ten en cuenta que, por ejemplo, un círculo está formado por el dibujo y un cuadro que lo delimita. Esta función comprueba si el ratón está situado encima de píxeles que no están en blanco.
if theMouseCast = 1 then
set the visible of sprite 2 to true
else
set the visible of sprite 2 to false
end if
Propiedad
Moveable. Sprites que se mueven e intersectan
Existe una propiedad de sprite, (Moveable), que hace que podamos arrastrar un sprite del escenario cuando la película se está ejecutando. Esta opción se activa mediante la casilla Moveable del panel principal.
Una función interesante para comprobar si dos sprites se chocan cuando existe movimiento por la pantalla es la función sprite__intersects___. Esta orden funciona cuando Lingo comprueba que un sprite toca una parte de otro sprite. La función devuelve un 1 si esto se cumple. Existe otra función, sprite___within que comprueba si un sprite está totalmente dentro de otro. Para probarlo, dibuja dos círculos; uno grande y otro más pequeño. Haz que el segundo sea desplazable (moveable). Crea también un campo de texto y prueba la siguiente rutina:
on
exitFrame
put empty into field 1 if sprite 2 intersects 1 then put "Se tocan" into field 1 end if if sprite 2 within 1 then put "Está dentro" into field 1 end if go to the frame end exit frame |