MoleMash para AppInventor 2 En el juego MoleMash MoleMash , , un lunar que aparece en posiciones aleatorias en un campo de juego, y el jugador anota puntos por golpear al topo antes de que salte lejos. Este tutorial muestra cómo construir MoleMash MoleMash como como un ejemplo de un juego simple que utiliza la animación.
Primeros pasos Conéctese al sitio Web App Inventor y empezar un nuevo proyecto con el nombre de "MoleMash", y también establecer la pantalla de título título a a "MoleMash". Descargue la imagen del topo a su computadora (la imagen se encuentra en la página https://sites.google.com/site/alvarocbtis212) la imagen se llama topo
Introducción Vas a diseñar el juego para que el topo se mueve una vez cada medio segundo. Si se toca, la puntuación se incrementa en uno, y el teléfono vibre. Al presionar el reinicio restablece el marcador a cero. Este tutorial presenta: ImageSprites
Temporizadores y el reloj de componente de componente
Procedimientos
La selección de números números aleatorios entre 0 y 1
Bloques de texto
Typeblocking
Los componentes primero Varios componentes deben estar familiarizados desde tutoriales anteriores:
Un lienzo lienzo llamado llamado "MiCanvas". Esta es la zona en la que el topo se mueve.
Una etiqueta etiqueta llamada llamada "ScoreLabel" que muestra la puntuación, es decir, el número deveces
que el jugador ha tocado a la mole.
Un botón botón llamado llamado "ResetButton". 1.
Arrastre estos componentes desde la paleta hasta el visor y asignar sus nombres.
2.
Ponga MiCanvas MiCanvas encima encima y establecer sus dimensiones a 300 píxeles de ancho por 300 píxeles de alto.
3.
Ajuste el texto de ScoreLabel a "Score: ---".
4.
Ajuste el texto de ResetButton a "Reset".
5.
También agregar un sonido de los componentes y el nombre de "noise". Utilizará ruido para que el teléfono vibre cuando el topo es golpeado, similar a la forma en que usted hizo el ronroneo gatito en HelloPurr .
Temporizadores y el componente del reloj Es necesario hacer arreglos para que el topo salte periódicamente, y se va a hacer esto con la ayuda de un reloj de componentes. El componente del reloj ofrece varias operaciones relacionadas con el tiempo, al igual que le dice lo que la fecha es. Aquí, vamos a usar el componente como un temporizador que se activa en partes internas regulares. El intervalo de encendido se determina por la propiedad IntervaloDeCronómetro del reloj. 1.
Arrastre el componente de reloj (Clock), y automáticamente entrara al el área de componentes no visibles.
2.
Modificar el nombre a "MoleTimer".
3.
Establezca su TimeInterval a 500 milisegundos para que el topo se mueve cada medio segundo. Asegúrese de que TimeEnabled este seleccionado.
Adición de una imagen Sprite Para agregar el topo movimiento usaremos un Sprite . Sprites son imágenes que se pueden mover en la pantalla en un lienzo. Cada sprite tiene una velocidad y una rúbrica, y también un intervalo que determina la frecuencia con la que el sprite se mueve a la velocidad designada. Sprites también pueden detectar cuando se tocan. En MoleMash , el topo tiene una velocidad cero, de modo que no se mueva por sí mismo. En su lugar, va a configurar la posición del topo cada vez que se activa el temporizador. Arrastre un ImageSprite componente en el Visor. Encontrarás este componente en la categoría de Dibujo y Animación de la paleta. Colóquelo dentro de MiCanvas área. Deberás establecer estas propiedades para el Sprite Mole:
Imagen : Cargar mole.png, que ha descargado en su computadora en el comienzo de este tutorial.
Enabled : marcado
Intervalo : 500 (El intervalo no importa aquí, porque la velocidad del topo es cero: no se mueve por sí mismo.)
Rúbrica : 0 El título no tiene importancia aquí tampoco, porque la velocidad es 0.
Velocidad : 0,0
Visible : activada
Ancho : Automático
Altura : Automático El diseñador debe tener este aspecto. Observe cómo el Mole se inserta debajo MiCanvas en la lista de estructuras de componentes, lo que indica que el sprite es un subcomponente del lienzo.
Definir procedimientos Defina dos procedimientos:
MoveMole mueve la Mole sprite para una nueva posición aleatoria en el lienzo.
UpdateScore muestra la partitura, cambiando el texto de la ScoreLabel.
Comience con MoveMole:
En el Editor de bloques, bajo incorporado, abra el cajón de Procedimientos. Arrastra un to procedure do bloque y cambiar el "procedure" a la etiqueta "MoveMole".
Nota: Hay dos bloques similares: to procedure do y to procedureresult . Aquí se debe utilizar to procedure do .
El bloque MoveMole tiene una ranura con la etiqueta "do". Ahí es donde usted pone las declaraciones para el procedimiento. En este caso habrá dos estados: uno para establecer la posición x del topo y uno para fijar su posición y. En cada caso, deberá definir la posición de ser una fracción aleatoria, entre 0 y 1, de la diferencia entre el tamaño del lienzo y el tamaño de la mole. Para crear ese valor debe usar bloques de randomfraction y la multiplicación y la resta.Usted puede encontrar estos en el cajón de Matemáticas.
Para construir el procedimiento MoveMole. La definición completa debe tener este aspecto: Observe cómo los bloques se conectan entre sí: la primera instrucción utiliza el conjunto Mole x y y para establecer la posición horizontal del topo. El valor se conecta a la toma del bloque que es el resultado de multiplicar:
1.
El resultado del bloque llamado randomfraction , es un valor entre 0 y 1
2.
El resultado de restar el ancho de la mole de la anchura del lienzo La posición vertical se maneja de manera similar. Hecho el MoveMole, el siguiente paso es definir una variable denominada Score para mantener la puntuación (número de toques) y darle valor inicial 0. También definir un procedimiento UpdateScore que muestra la puntuación en ScoreLabel . El contenido real que se muestran en ScoreLabel será el texto "Score:" sumado al valor de la puntuación .
Para crear el "Score:" parte de la etiqueta, arrastre un bloque de texto desde el cajón de texto. Cambie el bloque de leer "Score:" en lugar de "."
Use un bloque de unirse a adjuntar a un bloque que da el valor de la variable score. Usted puede encontrar el bloque de unirse en el cajón de texto. Aquí está cómo anotar y UpdateScore debe buscar:
Añadir un temporizador El siguiente paso es hacer que el topo se mantega en movimiento. Aquí es donde vamos a usar el MoleTimer . Los componentes de reloj tienen un controlador de eventos llamado When... Timer do que se dispara repetidamente a una tasa determinada por el TimerInterval.
Configure el procedimiento de MoleTimer llamado MoveMole cada vez se active el temporizador, mediante la construcción del controlador de eventos como éste:
Note como el lunar comienza a saltar por teléfono tan pronto como lo define el controlador de eventos. Este es un ejemplo de cómo las cosas en App I nventor comienzan a suceder instantáneamente, tan pronto como usted los defina.
Añade un toque de controlador Mole El programa debe incrementar la puntuación cada vez que el topo se toca. Sprites, como lienzos, responden al tacto de eventos. Por lo tanto hay que crear un controlador de eventos para el tacto Mole que: 1. 2.
Incrementa la partitura. Pide UpdateScore para mostrar la nueva puntuación.
3. 4.
Hace que el teléfono vibre durante 1/10 de segundo (100 milisegundos). Pide MoveMole para que el topo se mueve de inmediato, en lugar de esperar a que el
temporizador cambie. Aquí es lo que parece esto en bloques. Seguir adelante el bloque whenMole.Touched como se muestra.
He aquí un consejo: Puede utilizar typeblocking : para crear rápidamente bloques.
Para crear un bloque de valores que contiene 100, sólo tienes que escribir 100 y pulse Intro. Para crear un bloque MoveMole , sólo tienes que escribir MoveMole y seleccione el bloque que desee de la lista
Reiniciar la puntuación Un detalle final es restablecer la partitura. Eso es simplemente cuestión de hacer que ResetButton cambie el marcador a 0 llamándolo UpdateScore .
Programa completo Aquí está el código completo MoleMash: