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}
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
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
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
y al final qué fue exactamente? xd
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)
perfecto pues ;) vigila también siempre lo que te dije sobre = y == que no son lo mismo eeeh, supongo que lo sabes ;)
En la sintáxis de gml es lo mismo == que =
gracias texic, no lo sabía eso... hm... pues qué raro, en fin yo lo seguiré usando como tal jeje