Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: J.E.A en Junio 16, 2012, 09:20:03 PM

Título: Problema con variable de movimientos (Solucionado)
Publicado por: J.E.A en Junio 16, 2012, 09:20:03 PM
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
Título: Re:Problema con variable de movimientos
Publicado por: 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]
Título: Re:Problema con variable de movimientos
Publicado por: J.E.A en Junio 17, 2012, 03:21:38 AM
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