Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: J.E.A en Junio 29, 2012, 04:01:06 PM

Título: Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: J.E.A en Junio 29, 2012, 04:01:06 PM
Tengo un problema con una nave que le hice que el disparo salga a cierta velocidad, y al agarrar tal objeto que su velocidad aumente a la que le haya asignado

Estos son los codigos:

En el create de mi nave:

global.velocidad=0;


Aca la colision de mi nave con el objeto que le hace disparar mas rapido:
global.velocidad=1







Ahora en el codigo de las municiones tengo esto:
En el create lo tengo así


global.velocidad=0;


En Step lo tengo de esta forma:






if y > view_yview[1]=scroll
{with(self)instance_destroy();}

{global.velocidad=0
vspeed=-4
}



{if global.velocidad=1
vspeed=-8}





Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?
Publicado por: Silver_light en Junio 29, 2012, 04:51:43 PM
Lo que sucede es que no deberías modificar la velocidad en el evento create de la munición, puesto que resetea la variable a 0.
Es decir que por cada vez que se crea una instancia de la munición la variable eventualmente vuelve a ser 0.

Luego fijate que tienes un error de escritura aquí:


{global.velocidad=0
vspeed=-4
}
Allí no estás evaluando la expresion, sino que reseteas nuevamente la variable a 0 y la velocidad continua siendo -4.
Supongo que se te salteó un if
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?
Publicado por: SobacoEnLlamas en Junio 29, 2012, 04:57:44 PM
dos cosas.

1- para qué pones dos veces en create de dos objetos la asignacion de la variable global.velocidad a 0?

2- el step último, cambia el primer = por un == así a ojo... espero que sea eso, porque = es para asignar un valor y tú quieres comparar dos valores, por eso se usa ==

quedaría así esa parte (bien ordenadito xd) :
if (global.velocidad == 1)
{
vspeed = -8;
}


PD: en vez de usar 0 y 1, para binarios recomiendo que mejor uses true y false, pero bueno, eso es cosa tuya no importa xd
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?
Publicado por: J.E.A en Junio 29, 2012, 05:18:23 PM
Jeje, gracias a los dos, mira que era algo simple eh, y no se como no me di cuenta de ese error. Que verguenza, como no me di cuenta de ese error  XD
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: SobacoEnLlamas en Junio 29, 2012, 05:31:29 PM
y al final qué fue exactamente? xd
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: J.E.A en Junio 29, 2012, 06:17:11 PM
Cita de: SobacoEnLlamas en Junio 29, 2012, 05:31:29 PM
y al final qué fue exactamente? xd
lo que dijo Silver_Light me funciono, y vos tenes razon en eso de las asignaciones de las variables en "true" o "false" en lugar de usar "0" o "1" si uso pocas variables  8)
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: SobacoEnLlamas en Junio 29, 2012, 06:19:35 PM
perfecto pues ;) vigila también siempre lo que te dije sobre = y == que no son lo mismo eeeh, supongo que lo sabes ;)
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: Texic en Junio 29, 2012, 06:21:08 PM
En la sintáxis de gml es lo mismo == que =
Título: Re:Porque mi nave no cambia la velocidad de disparo al agarrar objeto?(solucionado)
Publicado por: SobacoEnLlamas en Junio 29, 2012, 06:29:31 PM
gracias texic, no lo sabía eso... hm... pues qué raro, en fin yo lo seguiré usando como tal jeje