Professional Documents
Culture Documents
Primeros pasos
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.
ImageSprites
Temporizadores y el reloj de componente
Procedimientos
La selección de números aleatorios entre 0 y 1
Bloques de texto
Typeblocking
1. Arrastre estos componentes desde la paleta hasta el visor y asignar sus nombres.
2. Ponga MiCanvas 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 .
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.
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
MoveMole mueve la Mole sprite para una nueva posición aleatoria en el lienzo.
UpdateScore muestra la partitura, cambiando el texto de la ScoreLabel.
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 Inventor 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. Incrementa la partitura.
2. Pide UpdateScore para mostrar la nueva puntuación.
3. Hace que el teléfono vibre durante 1/10 de segundo (100 milisegundos).
4. 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.
Reiniciar la puntuación
Programa completo