martes, 14 de mayo de 2013
Esta practica de clase tiene el siguiente objetivo, es hacer que cuando la bola choque contra el bloque rojo, reduzca la velocidad y si choca contra el azul la aumente.
(Opcional: Un label donde muestre nuestra velocidad.)
Este es el aspecto de mi actividad:
Entonces tenemos los siguientes elementos en pantallas:
- Un canvas con 4 objetos:
- Img_sprite de la barra.
- una bola.
- Img_sprite bloque rojo.
- Img_sprite bloque azul.
Pasamos al codigo:
Sabiendo el objetivo del juego, haremos lo siguiente:- Mover la barra solo hacia los lados:
En la X de ImgBarra.MoveTo debemos restarle el currentX menos el Width de la barra dividido por 2.
Esto hará que se mueva correctamente al tocarla y arrastrarla.
- La bola al chocar con uno de los bordes del canvas rebote cambiando aleatoriamente su dirección:
Esta función es EdgeReached y hace que:
-Cambia el Heading (Dirección de movimiento) a un numero aleatorio del 1 al 100.
-Llama a la función bounce para que rebote contra edge.
- Colisiones de tres objetos con un único bloque:
"Other" es un componente y nosotros le damos nombre a "Other" así que podríamos usar tantos "If" como necesitáramos y hacer la comprobación de que "Other" sea por ejemplo bloqueazul pero no un text sino al final de cada elemento viene un componente, eso es lo que necesitamos para hacer tal comprobación y aunque funcione bien hay veces que no termina de funcionar bien.
Related Posts :
- Back to Home »
- Actividad 8.4 , Antonio Damian , Appinventor , Jorge guillen »
- Practica estilo "Arkanoid"
Perfecto!
ResponderEliminarMuy bien explicado el tema de las Colisiones...que no es fácil de manejar en App Inventor.
Enhorabuena
Muchas grácias Fran, la verdad esque costó pillar el concepto pero cuando se aprende es relativamente fácil :D
Eliminar