Junio 19, 2013, 08:09:03 am

Autor Tema: globalvar  (Leído 384 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado romon_28

  • Adicto
  • *
  • Puntos: 150
  • Mensajes: 389
  • Sexo: Masculino
    • Ver Perfil
globalvar
« en: Julio 11, 2012, 04:38:23 pm »
no entiendo bien como usar el "globalvar", cual es su ventaja y que diferencia hay entre los distintos tipos de varables.
No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.

Desconectado elviskelley

  • Okupa
  • *
  • Puntos: 374
  • Mensajes: 1782
  • Sexo: Masculino
  • la vida te da todo lo que pidas.
    • Ver Perfil
    • http://ekgames.3a2.com/ una web dedicada a   los mejores tutoriales.
Re:globalvar
« Respuesta #1 en: Julio 12, 2012, 12:09:57 am »
una variable global. la declaras en el primer room en un object el cual podrias llamar objGlobal en su event create declaras todas las variables global.
Ventajas: Puede ser llamada, modificada, usada, desde cualquier instancia, con solo colocar global.var... Otra particular ventaja, es que, el valor de la variable global. mantendra el de la ultima operacion. ejemplo declaraste una variable global. que guarda la cantidad de enemigos eliminados. Para esto en el event Destropy de cada enemigo colocas que sume 1 a la variable global. Si importar cuantos rooms pases la variable global. seguira conteniendo la ultima informacion. Asi al final del juego podrias colocar algo como
if global.eliminoEnemigos > 10 {show_message("Brillante eres el asesino supremo")}
Otro ejemplo: lives, score. Son variables global.
« última modificación: Julio 12, 2012, 12:14:17 am por elviskelley »
Por muy dificil que parece, todo pasa.
mi web Elvis.Kelley.Games
Manual Game maker PDF



Desconectado romon_28

  • Adicto
  • *
  • Puntos: 150
  • Mensajes: 389
  • Sexo: Masculino
    • Ver Perfil
Re:globalvar
« Respuesta #2 en: Julio 17, 2012, 02:25:20 pm »
u.u buena explicasion sobre una variable global, pero no es lo que pedi.

En GM8 (y no se si en el GM7) existe un codigo llamado "globalvar", para asi se crear una variable de ese tipo:

{
 globalvar Variable;
}

Yo suponia que me podria servir para que en un metodo X pueda tener una variable global privada, saque
esa deduccion por las variables "var" que son algo asi:

{
 var i,j;
 
 for(i=0;i<4;i+=1)
 {
  j=round(random(4));
  draw_text(x,y+(12*i),"N° "+string(i+j));
 }
}

Es por eso mi pregunta.

Desconectado eze_96ram

  • Habitual
  • *
  • Puntos: 4
  • Mensajes: 33
  • Sexo: Masculino
  • Destiny has chosen you
    • Ver Perfil
Re:globalvar
« Respuesta #3 en: Julio 17, 2012, 08:21:49 pm »
Según yo entendí del manual de GM 8.0, globalvar sirve para no utilizar "global." cada vez que llamas a esa variable, no se pueden crear variables globales "privadas", ya que irían en contra de su función: las variables globales fueron creadas para accederse desde cualquier ámbito.

Por ejemplo, si pones esto:

globalvar a;

ahora "a" es una variable global y no necesita "global." antes de ser llamada.

Desconectado Maitreya

  • Las cosas como son!
  • Moderadores globales
  • Adicto
  • *
  • Puntos: 131
  • Mensajes: 352
  • Sexo: Masculino
  • First Class Soldier... 4 años en CGM
    • Ver Perfil
Re:globalvar
« Respuesta #4 en: Julio 17, 2012, 09:02:05 pm »
las sentencias var y globalvar se usan para declarar variables temporales.
Tengo claro que una variable declarada con var es local al pedazo de código donde es declarada pero no estoy seguro de globalvar, el manual refiere a lo que dice eze_96ram:
Cita de: eze_96ram
Según yo entendí del manual de GM 8.0, globalvar sirve para no utilizar "global." cada vez que llamas a esa variable, no se pueden crear variables globales "privadas", ya que irían en contra de su función: las variables globales fueron creadas para accederse desde cualquier ámbito.
Habría que ver si funcionan igual a las variables declaradas como global.variable
Cita de: Fenris78
Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: Calio
Somos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.

Desconectado elviskelley

  • Okupa
  • *
  • Puntos: 374
  • Mensajes: 1782
  • Sexo: Masculino
  • la vida te da todo lo que pidas.
    • Ver Perfil
    • http://ekgames.3a2.com/ una web dedicada a   los mejores tutoriales.
Re:globalvar
« Respuesta #5 en: Julio 19, 2012, 02:58:47 am »
globalvar es para declarar un variable global temporal, esta una vez que ejecutas la linea de codigos al final del step, la globalvar deja de existir, relativamente hablando, ya que como la declaras a cada rato practicamente lo que haces es resetearla. Pero no existen globalvar privadas. Yo hasta ahora no le he encontrado un uso, aunque vi una vez un ejemplo que la usaba para declarar un array o indice de array temporal, pero luego guardaba el resultado obtenido en un archivo .ini osea un documento externo. En pocas palabras no tiene mucha utilidad.
Por muy dificil que parece, todo pasa.
mi web Elvis.Kelley.Games
Manual Game maker PDF



Desconectado romon_28

  • Adicto
  • *
  • Puntos: 150
  • Mensajes: 389
  • Sexo: Masculino
    • Ver Perfil
Re:globalvar
« Respuesta #6 en: Julio 21, 2012, 11:59:15 pm »
las "var" son utilies en los scripts ya que no alteran las variables de un objero. es por eso que si se puede crear una variable global que solo se utilise en un scripts determinado estaria mas que bueno

Desconectado Mgbu

  • Okupa
  • *
  • Puntos: 441
  • Mensajes: 724
  • Sexo: Masculino
  • Hola! (?)
    • Ver Perfil
    • BernardiGames
Re:globalvar
« Respuesta #7 en: Julio 22, 2012, 12:37:55 am »
Yo las uso para cargar archivos externos, entonces guardo ese archivo en la variable y la llamo sin el global desde cualquier objeto, como si estuviera en el gmk:

scr_cargar_sprite("scr_auto")
Código: [Seleccionar]
execute_string('globalvar '+string(argument0)) //Para acceder a la variable desde cualquier objeto
variable = string(argument0)
execute_string(variable+' = sprite_add_sprite("sprite/'+string(argument0)+'.gmspr")')