Bueno sigo haciendo mis intentos por crear mi primer juego y me topé con otro problema.
Tengo un objeto (personaje) que muevo con las teclas derecha e izquierda (se mueve como el avión en el tutorial de scrolling shooters, de ahí lo copié).
Ahora tengo otro objeto, quiero que al hacer colisión con mi personaje, este se deje de mover (quede congelado) unos 3 segundos y después recupere el movimiento.
También necesito que cuando el objeto colisione con el personaje cambie de sprite (el personaje) por el tiempo en que no se pueda mover y al pasar ese tiempo, vuelva a cambiar de sprite al original.
Sería genial si me pudieran ayudar a hacer esto con drag & drop, pero me arriesgaría a empezar con el código del GM si es que es más fácil ??? :S
Bueno, yo miraría el código porque no hice el tutorial y no se como funciona :-[
Al chocar podés hacer que una variable "frenado" por ejemplo se tome el valor 1 y una alarma a un determinado tiempo
En la alarma pones la variable de nuevo en 0
Y en la parte del código que hace que se mueva agregarle una condición de que frenado sea 0, no se si entiendes :-[
Para cambiar el sprite tendrías que usar el "Change Sprite" cuando colisiones, y también en la alarma que se ponga el original de la misma manera
segun yo con drag&drop seria asi:
en create pones una variable llamada "moverse" y le pones que sea igual a "false"
en las flechas donde se mueve pones hasta arriba una condicion de que si "moverse" es "true" y pones el cuadrito con la x roja para que se salga
en el evento de colision de tu personaje con el otro objeto pones que cambie sprite por el otro que quieres; pones una alarma del tiempo que es para que no se mueva y pones una variable que cambie "moverse" a "true"
y en la alarma cuando se acabe que cambie otra vez al sprite normal y que "moverse" sea false
si no entiendes algo dime y te lo explico de una manera diferente :)
Está bien, creo que te confundiste con true y false, sería así
Citaren create pones una variable llamada "moverse" y le pones que sea igual a "true" (porque apenas empieza el juego se puede mover)
en las flechas donde se mueve pones hasta arriba una condicion de que si "moverse" es "true" y pones el cuadrito con la x roja para que se salga (cuando no te podés mover, pones la X para que na haga nada)
en el evento de colision de tu personaje con el otro objeto pones que cambie sprite por el otro que quieres; pones una alarma del tiempo que es para que no se mueva y pones una variable que cambie "moverse" a "false" (Cuando choca no se puede mover más)
y en la alarma cuando se acabe que cambie otra vez al sprite normal y que "moverse" sea true (Después del tiempo se puede volver a mover)
Ahora que modifiqué todo y lo veo más detenidamente me di cuenta que pusiste todos al revés, es decir hubiera funcionado, podés hacerlo de la forma que habías dicho antes pero a la variable le hubiera puesto de nombre "frenado"
corregido podría quedar así:
en create pones una variable llamada "detener" y le pones que sea igual a "false"
en las flechas donde se mueve pones hasta arriba de todos los cuadritos una condicion de que si "detener" es "true" y pones el cuadrito con la X roja para que se salga.
en el evento de colision de tu personaje con el otro objeto pones que cambie sprite por el otro que quieres; pones una alarma del tiempo que es para que no se mueva y pones una variable que cambie "detener" a "true"
y en la alarma cuando se acabe que cambie otra vez al sprite normal y que "detener" sea false
según yo, no me confundí, solo que puse moverse y lo usaba alreves, pero siguiéndolo como lo puse debería funcionar.
Si, sí como quieras, pero probalo! XD
Muchas gracias por responder, pero algo estoy haciendo mal porque no me sale la cosa.
Hago los pasos que me indican pero nada, miren:
1.
(http://i473.photobucket.com/albums/rr99/ketzergon/1.png)
2. (lo hago para la flecha hacia la izquierda y hacia la derecha también, espero que esa sea la "X" roja a la que se refieren, jeje)
(http://i473.photobucket.com/albums/rr99/ketzergon/2-1.png)
3.
(http://i473.photobucket.com/albums/rr99/ketzergon/3-1.png)
4.
(http://i473.photobucket.com/albums/rr99/ketzergon/4-1.png)
Por favor ayuda a ver que estoy haciendo mal.
Me parece que estas haciendo un poco en cada objeto.
Creaste la variable e impediste que se mueva en obj_pelusa
Pero hiciste la alarm y el cambio de sprite en el otro objeto
Para hacer las cosas como queres (que se quede quieto la pelusa y cambiar sprite de meteorito) en cada objeto tiene que estar el create y la alarm
Tambien en el evento alarm tenés que poner Detener a falsa y el sprite original
Algo mas: en el create pone detener a false o se va a quedar quieto siempre