Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: p34 en Septiembre 01, 2011, 08:08:33 PM

Título: Como funciona "var"? (Solucionado)
Publicado por: p34 en Septiembre 01, 2011, 08:08:33 PM
Hola.
Estoy haciendo un juego de disparos y quiero que cuando recojo un arma y ya tengo 2 armas (una primaria y otra secundaria) entonces agarre el arma nueva y cree un arma con las variables de la que tenia en la mano.
Lo que trate hacer es que cree otro objeto con las variables del que tenia en la mano
[gml]if arma1 != "no" and arma2 != "NO"
{
var i;
i = instance_create(x,y,obj_arma_glob);
with(i){balas_ = balas; cargadores_ = cargadores} // etc.
}
[/gml]
pero el problema es que aveces si las crea y otras veces solamente desaparece el arma nueva
Estoy usando mal "var"? o como le puedo hacer ???
Título: Re: Como funciona "var"?
Publicado por: Jucarave en Septiembre 01, 2011, 08:58:51 PM
Cita de: p34 en Septiembre 01, 2011, 08:08:33 PM
Hola.
Estoy haciendo un juego de disparos y quiero que cuando recojo un arma y ya tengo 2 armas (una primaria y otra secundaria) entonces agarre el arma nueva y cree un arma con las variables de la que tenia en la mano.
Lo que trate hacer es que cree otro objeto con las variables del que tenia en la mano
[gml]if arma1 != "no" and arma2 != "NO"
{
var i;
i = instance_create(x,y,obj_arma_glob);
with(i){balas_ = balas; cargadores_ = cargadores} // etc.
}
[/gml]
pero el problema es que aveces si las crea y otras veces solamente desaparece el arma nueva
Estoy usando mal "var"? o como le puedo hacer ???

Var crea una variable temporal que solo se puede usar en ese pedazo de codigo... en cuanto a lo que quieres no se porque dices que a veces y a veces no, pero igual proba cambiando esto

[gml]with(i){balas_ = balas; cargadores_ = cargadores} // etc.[/gml]

por esto:

[gml]i.balas_ = balas; i.cargadores_ = cargadores; // etc.[/gml]

Ya que si  pones el primero entonces las variables (balas_ y balas) pertenecen a la nueva arma y no a la que tenias


No conozco el uso que le das, pero proba y me avisas.


--
Saludos.
Título: Re: Como funciona "var"?
Publicado por: p34 en Septiembre 02, 2011, 05:09:49 AM
Gracias,
El uso que le doy es que yo tengo un arma y quiero agarrar otra del suelo pero no quiero que la primera solamente desparezca, entonces creo un objeto contenido en una variable temporal y en ese objeto le pongo todas las variables que tenia en el arma para que si la quiero agarrar otra vez, se quede con los mismas balas en el cartucho y en los cargadores.

Ya pude hacerlo, el problema de que aveces aparecia y aveces no es porque en el objeto nuevo tenia variabes declaradas como balas_ y cartuchos_ y los tenia iguales a cero (balas_ = 0;) entonces tengo un codigo para que cuando las balas y los cargadores sean 0 el arma se destruya y parece que estas variables se sobreponian a los nuevos valores que les estaba dando pero no siempre, entonces solo aveces desaparecia el arma.
No he tratado poner "i.balas_ // etc." Pero segun yo es lo mismo que como yo lo tengo "with(i) // etc."
Lo que hice fue poner en el arma
[gml] var balas_, cartuchos_, // etc. [/gml] y asi las variables no tienen valores que se le sobrepongan a los asignados a los nuevos valores