Está en la página 1de 8

CLASE 3

CREACIN DE VIDEOJUEGOS EN ANDROID BAJO APP-IVENTOR2


OBJETIVOS:

Conocer el fundamento de los bloques Ball, Canvas, ImageSprite.


Disear juegos con los bloques propuestos.

BLOQUES A TRABAJAR:

BALL:
Un 'sprite' con movimiento que se puede colocar en un Canvas , donde puede reaccionar a toques y
arrastraciones, interactuar con otros sprites ( ImageSprite s y otra Ball s) y el borde, y se mueven
de acuerdo a sus valores de propiedad.

Propiedades
Enabled
Controla si el sprite se mueve cuando su velocidad es distinta de cero.
Heading
Devuelve el rumbo del sprite en grados sobre el eje x positivo. Cero grados es hacia la derecha de
la pantalla; 90 grados es hacia la parte superior de la pantalla.
Interval
El intervalo en milisegundos con que se actualiza la posicin del sprite. Por ejemplo, si el
intervalo es 50 y la velocidad es 10, entonces el sprite se mover 10 pxeles cada 50
milisegundos.
Speed
La velocidad a la que el sprite se mueve. El sprite se mueve tantos pxeles cada intervalo.

Visible
Verdadero si el sprite es visible.
X
La coordenada horizontal del borde izquierdo del sprite, aumentando a medida que el sprite se
mueve a la derecha.
Y
La coordenada vertical de la parte superior del sprite, aumentando a medida que el sprite se
mueve hacia abajo.
Z
Cmo el sprite debe ser estratificada en relacin con otras bebidas espirituosas, con capas de
numeraciones superiores, frente a capas con nmeros ms bajos.

Eventos
CollidedWith(component other)
Handler para eventos CollidedWith, llamados cuando dos sprites colisionan. Tenga en cuenta que
la comprobacin de colisiones con un ImageSprite girada actualmente comprueba contra la
posicin sin girar el sprite. Por lo tanto, el chequeo de colisiones ser inexacto para los sprites de
ancho estrechos o cortos de altura que se rotan.
Dragged(number startX, number startY, number prevX, number prevY,
number currentX, number currentY)
Handler para eventos Dragged. En todas las llamadas, las coordenadas de inicio son donde la
pantalla se toc en primer lugar, y las coordenadas "actuales" describen el punto final del
segmento de lnea actual. En la primera llamada dentro de un lastre dado, las coordenadas
"anteriores" son las mismas que las coordenadas de partida; posteriormente, son las coordenadas
"actuales" de la llamada anterior. Tenga en cuenta que el Sprite en realidad no desplazarse a
cualquier lugar en respuesta al evento Arrastrado a menos MoveTo se llama especficamente.
EdgeReached(number edge)
Controlador de eventos llama cuando el sprite llega a un borde de la pantalla. Si de rebote se
llama entonces con esa ventaja, el sprite aparecer a rebotar de la ventaja que alcanz. Edge aqu
se representa como un entero que indica una de las ocho direcciones del norte (1), noreste (2),
este (3), sureste (4), sur (-1), suroeste (-2), oeste (-3) y al noroeste (-4).

Flung(number x, number y, number speed, number heading, number xvel,


number yvel)
Cuando un gesto aventura (golpe rpido) se realiza en el sprite: proporciona la posicin (x, y) del
inicio de la aventura, en relacin con la esquina superior izquierda del lienzo. Tambin
proporciona la velocidad (pxeles por milisegundo) y la partida (0-360 grados) de la aventura, as
como la velocidad x y componentes de la velocidad Y del vector de la aventura.
NoLongerCollidingWith(component other)
Evento que indica que un par de sprites estn ya no chocan.
TouchDown(number x, number y)
Cuando el usuario comienza a tocar el sprite (dedo lugares en sprites y lo deja all): proporciona
la posicin (x, y) del tacto, en relacin con la esquina superior izquierda del lienzo
TouchUp(number x, number y)
Cuando el usuario deja de tocar el sprite (ascensores dedo despus de un evento de TouchDown):
proporciona la posicin (x, y) del tacto, con relacin a la parte superior izquierda del lienzo
Touched(number x, number y)
Cuando el usuario toca el sprite y luego levanta inmediatamente el dedo: proporciona la posicin
(x, y) del tacto, con relacin a la parte superior izquierda del lienzo

Mtodos
Bounce(number edge)
Hace este rebote sprite, como si fuera una pared. Para rebote normal, el argumento de borde debe
ser el devuelto por EdgeReached.
boolean CollidingWith(component other)
Indica si la colisin se ha registrado entre este elemento sprite y el sprite pasado.
MoveIntoBounds()
Mueve el sprite de vuelta en los lmites si parte de ella se extiende fuera de los lmites, que no
tiene efecto contrario. Si el sprite es demasiado grande para caber en el lienzo, este se alinea el
lado izquierdo del sprite con el lado izquierdo del lienzo. Si el sprite es demasiado alto para caber
en el lienzo, este se alinea la parte superior del sprite con el lado superior de la lona.

MoveTo(number x, number y)
Mueve el sprite para que su esquina superior izquierda se encuentra en los x specfied y
coordenadas.
PointInDirection(number x, number y)
Enciende el sprite para que apunte hacia el punto con coordenadas como (x, y).
PointTowards(component target)
Enciende el sprite para que apunte hacia un sprite objetivo designado. El nuevo encabezamiento
ser paralela a la lnea que une los puntos centrales de los dos sprites.

EJEMPLO 1:
Disearemos un reconocimiento del bloque ball, para esto en la parte de DISEO colocamos:

Tomando enfasis en las propiedades de ball:


Interval: Frecuencia de movimiento de la pelota en milisegundos.
Heading: Direccin del viaje de la pelota en angulos.
Speed: Nmero de pxeles para el movimiento de cada perodo.

En la parte de bloques colocamos:

EJEMPLO 2:
Es este ejemplo seguiremos con la parte de Ball, y probaremos ahora el evento FLUNG (golpear,
arrastrar). En la parte de diseo colocamos:

En la parte de bloques colocamos en un primer momento:

habilitar

Si se quiere agregar rebotes, se podria colocar el bloque de Bounce, bajo el evento de Edge.Reached:

Tener en cuenta:
EdgeReached (un evento que slo es aplicable para los sprites y balls) se activa cuando la ball
golpea cualquiera de los bordes del Canvas. Este controlador de eventos, combinado con el
movimiento diagonal especificado con el evento de temporizador descrito anteriormente, causar
que ball se mueva diagonalmente desde la parte superior izquierda a la inferior derecha, y cuando
llegue al borde saltar nuevamente hacia a la parte superior izquierda, esto lo har una y otra vez
(o hasta que usted le indique lo contrario).
Tenga en cuenta que con el evento EdgeReached hay un argumento edge1. El argumento
especifica que Ball alcanzar el borde, usando el siguiente esquema de numeracin direccional:

North (norte)= 1
Northeast (noreste)= 2
East (este)= 3
Southeast (sureste)= 4
South (sur)= 1
Southwest (suroeste)= 2
West (oeste)= 3
Northwest (noroeste)= 4

EJEMPLO 3:
En este ejemplo veremos la parte de colisiones; colocamos en DISEO:

En la parte de BLOQUES hare una programacin para que cada vez que halla una colisin el objeto
ball cambio de color:

También podría gustarte