Tengo un problema con mi personaje, le asigne que al cambiar a tal sprite que deje de moverse. Por ejmplo cuando pierde que al quedar la imagen de "muerte" no te puedas mover. Pero el problema es que solo salta y no se mueve al iniciar el juego
Estos son los codigos que tengo para los movimientos de mi personaje:
En el Create de mi personaje lo tengo así
mover=0
En Right lo tengo así
if mover=1
if place_free(x+4,y)
x+=4;
if mover=0
if place_free(x+0,y)
x+=0;
En Left asi:
if mover=1
if place_free(x-4,y)
x-=4;
if mover=0
if place_free(x-0,y)
x-=0;
En el evento de colision con mi enemigo
sprite_index=spr_personajemuerto ///aclaro que aca cambio el sprite de mi personaje vivo con sus movimientos a muerto///
if sprite_index=spr_personajemuerto
mover=0
Por las dudas dejo el adjunto
El único problema era que en create declaras mover en 0, entonces nunca se pudo mover culpa de las condiciones en las flechas derecha e izquierda, se soluciona cambiando mover=0 por mover=1 en el create del object0
Otra cosa es que cuando está muerto puede saltar, eso se coluciona anidando todo lo del evento space en un if mover=1 en el object0
Quedaría así:
Press Space en object0
[gml]
if mover=1
{
if gravedad2=0
if not place_free(x,y+1) && salto=0 // Si no esta libre por que esta colisionando o alguna otra accion con otro objeto. Y el salto es 0
{
vspeed=-8 // Velocidad vertical -11, se pone - para ir hacia arria
salto=1}
if gravedad1=1
if not place_free(x,y-1) && salto=0 // Si no esta libre por que esta colisionando o alguna otra accion con otro objeto. Y el salto es 0
{
vspeed=8 // Velocidad vertical -11, se pone - para ir hacia arria
salto=1}
}
[/gml]
Cita de: Mgbu en Junio 16, 2012, 10:47:00 PM
El único problema era que en create declaras mover en 0, entonces nunca se pudo mover culpa de las condiciones en las flechas derecha e izquierda, se soluciona cambiando mover=0 por mover=1 en el create del object0
Otra cosa es que cuando está muerto puede saltar, eso se coluciona anidando todo lo del evento space en un if mover=1 en el object0
Quedaría así:
Press Space en object0
[gml]
if mover=1
{
if gravedad2=0
if not place_free(x,y+1) && salto=0 // Si no esta libre por que esta colisionando o alguna otra accion con otro objeto. Y el salto es 0
{
vspeed=-8 // Velocidad vertical -11, se pone - para ir hacia arria
salto=1}
if gravedad1=1
if not place_free(x,y-1) && salto=0 // Si no esta libre por que esta colisionando o alguna otra accion con otro objeto. Y el salto es 0
{
vspeed=8 // Velocidad vertical -11, se pone - para ir hacia arria
salto=1}
}
[/gml]
Que tonto que soy, como no me di cuenta jeje. Muchas gracias!!! Y gracias por lo de saltar, ya quedo correjido por completo el problema XD. Cada día voy aprendiendo mas