Hola buenas tengo un juego android con los controles en la pantalla quiero que cuando pinche la accion lanzar kamehame por ejemplo, el personaje no se pueda mover ni hacer otra accion, e probajo a eliminar el objeto controles que es donde salen los botones pero aun desapareciendo si pinchas donde estaban se sigue moviendo al jugador... nose como hacer para que cuando haga determinadas acciones asta que no termine no puedas seguir moviendolo.

Puedes desactivar instancia y después activarla o destruirla y si no existe crearla eso ahorra recursos bueno no m extiendo q escribo desde del móvil. Saludos

#2 Abril 25, 2015, 08:15:32 PM Ultima modificación: Abril 25, 2015, 08:19:01 PM por penumbra
Cita de: roberbtr en Abril 25, 2015, 10:55:43 AM
nose como hacer para que cuando haga determinadas acciones asta que no termine no puedas seguir moviendolo.
Eso en esencia es implementar un tiempo de espera, algunos le llaman "cooldown". Generalmente se hace con alarmas, pero como en este caso, hay una animación de por medio.(la animación del poder kamehameha), hay mejores alternativas que usar alarmas. Imagina que tienes una variable "kamehameha" que vale 1 cuando el personaje ejecuta ese poder, y que vale 0 cuando no lo está ejecutando.

A este tipo de variables se les suele llamar banderas, porque sirven como una señal (bandera) para indicar si una acción o estado está ocurriendo o no. Esa variable "kamehameha" la puedes usar como bandera, de modo que si vale 1, el jugador no pueda caminar, y sólo pueda caminar cuando su valor sea 0.

Eso quiere decir que la variable "kamehameha" en algún momento tiene que pasar a ser 1, pero no puede quedarse en 1, sino que temporalmente sería 1, y después de cierto tiempo volvería a ser 0. Yo sugeriría que kamehameha se haga 0 en el evento ANIMATION END (cuando termina la animación del kamehameha) porque esto es más preciso que usar una alarma.