Diferencia entre revisiones de «Usuario:ManuelRomero/DAW/moviles/animation»
(→ImageSrpite) |
(→ImageSrpite) |
||
Línea 72: | Línea 72: | ||
Un sprite de imagen es un objeto animado que está contenido en un lienzo, puede reaccionar a toques, arrastres, interactuar con otros sprites (sprites de imagen y otras bolas) y con el borde de la tela, y moverse de acuerdo a sus propiedades . Por ejemplo, para tener un movimiento de 10 píxeles a la izquierda cada segundo, se puede establecer la propiedad Speed a 10, la propiedad Interval a 1000 (milisegundos), la propiedad Heading a 180 (grados), y establecer la propiedad Enabled a verdadero. Puede cambiar éstas y otras propiedades para modificar el comportamiento del sprite imagen. | Un sprite de imagen es un objeto animado que está contenido en un lienzo, puede reaccionar a toques, arrastres, interactuar con otros sprites (sprites de imagen y otras bolas) y con el borde de la tela, y moverse de acuerdo a sus propiedades . Por ejemplo, para tener un movimiento de 10 píxeles a la izquierda cada segundo, se puede establecer la propiedad Speed a 10, la propiedad Interval a 1000 (milisegundos), la propiedad Heading a 180 (grados), y establecer la propiedad Enabled a verdadero. Puede cambiar éstas y otras propiedades para modificar el comportamiento del sprite imagen. | ||
− | + | ===Propiedades=== | |
− | + | ;'''''Enabled''''','''''Visible''''','''''Width''''','''''Height''''' | |
− | + | ::Propiedades típicas y ya vistas. | |
− | + | ;'''''Picture''''' | |
− | + | ::Imagen que muestra el sprite. | |
− | :'''''Interval''''' | + | ;'''''Interval''''' |
− | :Tiempo en milisegundos que se recarga en la pantalla | + | ::Tiempo en milisegundos que se recarga en la pantalla |
− | + | ;'''''Rotates''''' | |
− | :Booelano que establece si al cambiar de rumbo gira la imagen para hacia donde se va a desplazarSi se establece, la imagen del sprite gira para que coincida con la dirección de desplazamiento. Si no se halla establecida, la imagen de sprites no gira cuando cambia el rumbo. | + | ::''Booelano'' que establece si al cambiar de rumbo gira la imagen para hacia donde se va a desplazarSi se establece, la imagen del sprite gira para que coincida con la dirección de desplazamiento. Si no se halla establecida, la imagen de sprites no gira cuando cambia el rumbo. |
− | + | ;'''''Heading''''' | |
− | :Sentido de la marcha del sprite en grados. | + | ::Sentido de la marcha del sprite en grados. |
− | {|class="wikitable" | + | ::{|class="wikitable" |
|+Valores de Heading | |+Valores de Heading | ||
!valor!!sentido de giro | !valor!!sentido de giro | ||
Línea 95: | Línea 95: | ||
|- | |- | ||
| 270 || abajo | | 270 || abajo | ||
+ | |} | ||
+ | ;'''''Speed''''' | ||
+ | ::Número de píxeles que la imagen se mueve en cada período (determinado por Interval) | ||
+ | ;'''''X''''' | ||
+ | ::Coordenada x de la imagen del sprite. Cero es el borde izquierdo del lienzo. | ||
+ | ;'''''Y''''' | ||
+ | ::Coordenada y de la imagen del sprite. El cero es el borde superior del lienzo. | ||
+ | <br/> | ||
+ | {{Reflexion| Observar que con se puede mover un sprite cada '''''Interval''''' milisegundos que se mueva '''''Speed''''' pixeles, hacia , '''''Heading''''' dirección}} | ||
+ | ===Eventos=== | ||
+ | CollidedWith(component other) | ||
+ | :Se dispara cuando este imageSprite colisiona con otra imagen animada (sprite o boll) | ||
+ | :El argumento other representa el componente con el que ha colisionado. | ||
+ | Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY) | ||
+ | :El sprite fue arrastrado. | ||
+ | :Cuando el usuario arrastra el dedo de un punto de la pantalla (PrevX, prevY) a otro (X, Y). El par (startX, startY) indica el primer punto donde el usuario tocó la pantalla. | ||
+ | EdgeReached(number edge) | ||
+ | :Cuando el sprite ha llegado al borde de la pantalla | ||
+ | :El argumento edge indica que borde (o esquina) de la colisión. | ||
+ | :edge puede tomar los siguientes valores | ||
+ | {|class="wikitable" | ||
+ | |+Valores de borde del lienzo | ||
+ | !valor!!Borde del lienzo | ||
+ | |- | ||
+ | | 1 || norte | ||
+ | |- | ||
+ | |2 ||noreste | ||
+ | |- | ||
+ | |3 ||este | ||
+ | |- | ||
+ | |4 ||sureste | ||
+ | |- | ||
+ | | -1 ||sur | ||
+ | |- | ||
+ | | -2 ||al sureste | ||
+ | |- | ||
+ | | -3 ||oeste | ||
+ | |- | ||
+ | | -4 ||al noreste | ||
|} | |} | ||
− | + | NoLongerCollidingWith(component other) | |
− | + | :Una vez que se ha producido la colisión cuando dejan de estar colisionados se dispara este evento | |
− | + | Touched(number x, number y) | |
− | Y | + | :Se le llama cuando el usuario toca el sprite. X e Y son sus coordenadas. |
− | + | ||
− | + | ||
− | + | ||
− | + | ===Métodos=== | |
− | + | Bounce(number edge) | |
− | + | :Hace que rebote de el sprite, como si de una pared se tratara. El significado del argumento es el mismo que en EdgeReached . Puede configurar el evento EdgeReached para hacer que el sprite rebote al alcanzar el borde, causando que parezca que rebota elásticamente desde todos los bordes y esquinas. | |
− | + | ||
− | + | boolean CollidingWith(component other) | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Bounce(number edge) | + | |
− | Hace que rebote de el sprite, como si de una pared se tratara. El significado del argumento es el mismo que en EdgeReached . Puede configurar el evento EdgeReached para hacer que el sprite rebote al alcanzar el borde, causando que parezca que rebota elásticamente desde todos los bordes y esquinas. | + | |
− | boolean CollidingWith(component other) | + | |
Indica si el sprite está en colisión con el componente determinado. | Indica si el sprite está en colisión con el componente determinado. | ||
− | MoveIntoBounds() | + | |
+ | MoveIntoBounds() | ||
Si el sprite está fuera de límites, este método lo mueve dentro del campo. | Si el sprite está fuera de límites, este método lo mueve dentro del campo. | ||
− | MoveTo(number x,number y) | + | |
+ | MoveTo(number x,number y) | ||
Mueve el sprite directamente al punto dado. | Mueve el sprite directamente al punto dado. | ||
+ | {{Actividad | haz un sprite que se mueva por la pantalla y rebote cuando toque los bordes del lienzo}} |
Revisión de 12:11 5 oct 2012
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |
Animation
ball bola
- Un objeto bola es un sprite que no puede cambiar su imagen (siempre es un circulo de color)
- De su apariencia podemos modificar el color y tamaño
- Propiedades
Radius
- Radio de la bola.
PaintColor
- Color utilizado para dibujar la bola.
Enabled Visible
Interval
- La frecuencia de refresco en pantalla de la bola en milisegundos.
Heading
- Sentido de la marcha de la bola.
X
- Posicion x x de la bola en pixeles.
Y
- Posición y de la bola.
Speed
- Velocidad de movimiento de la bola, (píxeles que se mueve la bola cada periodo del intervalo).
- Eventos
CollidedWith(component other)
- Evento que indica que la bola ha colisionado con otra imagen . El argumento del evento es el otro componente de la colisión.
Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY)
- Arrastrar la bola por la pantalla desde un punto a otro.
- startX startY Primero punto donde el usuario tocó la pantalla
- prevX prevY punto origen desde donde muevo la bola
- currentX currentY punto destino hasta donde muevo la bola
EdgeReached(number edge)
- Si la bola toca el borde de la pantalla
- El argumento edge indica que borde (o esquina) se alcanzó, codificado de la siguiente manera:
north = 1 northeast = 2 east = 3 southeast = 4 south = -1 southwest = -2 west = -3 northwest = -4
NoLongerCollidingWith(component other)
- Dos imágenes han dejado de chocar.
Touched(number x, number y)
- El usuario ha tocado la bola en las coordenadas x , y.
- Métodos
Bounce(number edge)
- Hace que rebote de la pelota, como si de una pared se tratara.
- El significado del argumento es el mismo que en EdgeReached .
- Se puede configurar este método con el valor retornado por en evento EdgeReached para hacer que la pelota rebote al alcanzar cualquier borde de la pantalla.
boolean CollidingWith(component other)
- Indica si la bola está en colisión con el componente pasado como argumento.
MoveIntoBounds()
- Si el balón está fuera de límites, este método lo mueve dentro del campo.
MoveTo(number x,number y)
- Mueve la bola directamente al punto indicado como argumento.
ImageSrpite
- Un componente sprite de imagen es un objeto animado
- Puede interactuar con otros objetos como lienzo, las bolas, y otros objetos de imagen.
- Este es un componente que en parte se pude dotar de comportamiento directamente con sus propiedades que conviene conocer.
Un sprite de imagen es un objeto animado que está contenido en un lienzo, puede reaccionar a toques, arrastres, interactuar con otros sprites (sprites de imagen y otras bolas) y con el borde de la tela, y moverse de acuerdo a sus propiedades . Por ejemplo, para tener un movimiento de 10 píxeles a la izquierda cada segundo, se puede establecer la propiedad Speed a 10, la propiedad Interval a 1000 (milisegundos), la propiedad Heading a 180 (grados), y establecer la propiedad Enabled a verdadero. Puede cambiar éstas y otras propiedades para modificar el comportamiento del sprite imagen.
Propiedades
- Enabled,Visible,Width,Height
- Propiedades típicas y ya vistas.
- Picture
- Imagen que muestra el sprite.
- Interval
- Tiempo en milisegundos que se recarga en la pantalla
- Rotates
- Booelano que establece si al cambiar de rumbo gira la imagen para hacia donde se va a desplazarSi se establece, la imagen del sprite gira para que coincida con la dirección de desplazamiento. Si no se halla establecida, la imagen de sprites no gira cuando cambia el rumbo.
- Heading
- Sentido de la marcha del sprite en grados.
Valores de Heading valor sentido de giro 0 horizontal derecha 90 arriba 180 izquierda 270 abajo
- Speed
- Número de píxeles que la imagen se mueve en cada período (determinado por Interval)
- X
- Coordenada x de la imagen del sprite. Cero es el borde izquierdo del lienzo.
- Y
- Coordenada y de la imagen del sprite. El cero es el borde superior del lienzo.
Eventos
CollidedWith(component other)
- Se dispara cuando este imageSprite colisiona con otra imagen animada (sprite o boll)
- El argumento other representa el componente con el que ha colisionado.
Dragged(number startX, number startY, number prevX, number prevY, number currentX, number currentY)
- El sprite fue arrastrado.
- Cuando el usuario arrastra el dedo de un punto de la pantalla (PrevX, prevY) a otro (X, Y). El par (startX, startY) indica el primer punto donde el usuario tocó la pantalla.
EdgeReached(number edge)
- Cuando el sprite ha llegado al borde de la pantalla
- El argumento edge indica que borde (o esquina) de la colisión.
- edge puede tomar los siguientes valores
valor | Borde del lienzo |
---|---|
1 | norte |
2 | noreste |
3 | este |
4 | sureste |
-1 | sur |
-2 | al sureste |
-3 | oeste |
-4 | al noreste |
NoLongerCollidingWith(component other)
- Una vez que se ha producido la colisión cuando dejan de estar colisionados se dispara este evento
Touched(number x, number y)
- Se le llama cuando el usuario toca el sprite. X e Y son sus coordenadas.
Métodos
Bounce(number edge)
- Hace que rebote de el sprite, como si de una pared se tratara. El significado del argumento es el mismo que en EdgeReached . Puede configurar el evento EdgeReached para hacer que el sprite rebote al alcanzar el borde, causando que parezca que rebota elásticamente desde todos los bordes y esquinas.
boolean CollidingWith(component other)
Indica si el sprite está en colisión con el componente determinado.
MoveIntoBounds()
Si el sprite está fuera de límites, este método lo mueve dentro del campo.
MoveTo(number x,number y)
Mueve el sprite directamente al punto dado.