Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

* Sponsor

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Dibuja variables, operaciones y expresiones lógicas más fácil  (Leído 4186 veces)

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

Desconectado dixon2010

* Nombre del creador: dixon2010  

* Breve descripción de su función: Dibuja variables, operaciones y expresiones logicas simultaneamente

Ejemplo de variable: sprite_index ; devuelve el sprite usado
Ejemplo de operación: (2/2); devuelve el cociente de 2 entre 2
Ejemplo de expresión lógica: sprite_index=1 ; devuelve uno si es cierto de lo contrario devuelve cero

* Versión GM utilizada:     :GM5: :GM6: :GM7: :GM8:

Código: [Seleccionar]
draw_text_super="direction/x/y/5+5/(x/2)/image_speed/"
dtsx=10
dtsy=10
i5815=0;
variable="";
repeat(string_length(draw_text_super))
{
i5815+=1
chra5815=string_copy(draw_text_super,(frac(floor(i5815)/1000)*1000),1)
i5815+=((ord(chra5815)=39)+(ord(chra5815)=34))*1000
i5815+=100000*((chra5815="(")-(chra5815=")"))*(frac((frac(floor(floor(i5815)/1000)/1000)*1000)/2)=0)
if((chra5815="/")*(frac((frac(floor(floor(i5815)/1000)/1000)*1000)/2)=0)*(i5815<100000))
{
i5815+=0.01
str="draw_text(dtsx,dtsy+20*frac(i5815)*100,"+"string(variable)"+"+'= '+string("+variable+"))";
execute_string(str);
variable=""
}else{variable+=string_copy(draw_text_super,(frac(floor(i5815)/1000)*1000),1)}}

* Modo de uso:
1_colocar esta funcion en un formulario dentro del evento Draw Event
2_ Las variables, operaciones y expresiones lógicas a dibujar, anotarlas en la función draw_text_super separadas de una barra /, entre comillas.
3_ Las operaciones y expresiones lógicas que usen la barra / para dividir, deberán escribirse dentro de dos paréntesis ( ).
4_las variables dtsx y dtsy fijan la posicion X y Y de la lista de variables, operaciones y expresiones lógicas a dibujar.

* Ejemplo: http://www.2shared.com/file/11037597/a83d2737/draw_text_super.html

 
« Última modificación: Septiembre 23, 2011, 03:39:01 pm por dixon2010 »

Dios nos ayuda y nos da sabiduría para vivir. Cáda código es una obra maestra que hay que respetar aunque exista un código mas eficiente y sencillo.
 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Alfonsos1

Respuesta #1 en: Enero 04, 2010, 02:05:21 am
Citar
*Motivo:
Cuando creo un juego necesito comprobar valores de  variables y dibujo  el valor de las variables usando el draw_text(). Pero me molesta tener que modificar esta función para cada variable ya que trabajo con muchas y luego a beses ya no tengo que dibujarlas.

por que no usas el debug mode?, esta ppara eso

Edit: ok, la verdad es que si se me hace tedioso tener que rescribir todo cada ves que pruebo el juego. Me recuerda cuando yo "programaba" en C++  y tambien tenia que imprimir en pantalla las variables para poder analizar el juego
« Última modificación: Enero 04, 2010, 05:45:38 pm por Alfonsos1 »

 


Desconectado dixon2010

Respuesta #2 en: Enero 04, 2010, 04:15:33 pm
Citar
Run in Debug mode. Corre el juego en Debug Mode (Modo de depuración). En este modo puedes comprobar ciertos aspectos del juego. Es muy útil cuando hay algún error. Pero esto es un poco mas avanzado.
« Última modificación: Enero 04, 2010, 07:30:35 pm por dixon2010 »

Dios nos ayuda y nos da sabiduría para vivir. Cáda código es una obra maestra que hay que respetar aunque exista un código mas eficiente y sencillo.
 


Desconectado calebor04

  • Habitual
  • *
  • Puntos: 0
  • Mensajes: 44
    • Ver Perfil
Respuesta #3 en: Enero 12, 2010, 09:15:37 am
gracias muy buen aporte .  :D una de las muchas cosas por las que considero que el debug de gamemaker es realmente malo.

 


Desconectado somnus

Respuesta #4 en: Febrero 06, 2010, 12:10:49 am
pues hasta ahora no me quejo del debug, tienes que guardar las variables si no quieres reescribirlas cada vez que testeas el engine.

aunque una ayuda extra nunca esta de mas.

Es Mejor No Saber Porque Funciona, Que Saber El Porque No Funciona...
Tienes alguna duda con "Game Design" o de videojuegos en general, contactamente mas facil en twitter @pavulzavala
 


Desconectado dixon

Respuesta #5 en: Junio 24, 2021, 06:12:01 pm
Hola, saludos cordiales.  8)

Parece mentira que ya han pasado más de 10 años desde que cree este script y hoy vengo a traerle una actualización.



Tengo achaques de viejo así que por favor déjenme explicar el origen y la utilidad del script antes de presentar las mejoras:



Mi propósito era acelerar el desarrollo de video juegos permitiendo la visualización instantánea de variables acortando el tiempo de transcripción de las mismas y el tiempo de carga del juego.



Creo que no te entendí nada.


Ya te explico mejor:



Con este script podemos verificar los valores de las variables de manera rápida sin estar escribiendo muchas veces el draw_text, además te muestra el nombre de la variable. Esto me sirvió mucho para programar complejos script y visualizar muchísimas variables.



¿Eso es todo?.


No, este script supera al debug-mode, pero solo funciona en game maker 4 hasta game maker 8, lamentablemente a partir del game maker html5 se eliminó la función execute_string y el script perdió compatibilidad.



mmm…..


La actualización: La mejora del script no es más que otro código muy diferente que cumple con el objetivo, funciona en todas las versiones pero se utiliza de manera diferente.

Código del nuevo script:
//texto
txt="";
ver="txt";
vw00=room_width;
vh00=room_height;
dx=0;
dy=0;
sep00=20;//separacion entre lineas

//Posicionar cursor aquí
if(ver!='txt'){draw_text(dx,dy,'txt: '+string(txt));dy+=sep00;if(dy>vh00-sep00){dy=0;dx+=vw00/2}}
if(ver!='txt'){draw_text(dx,dy,'txt: '+string(txt));dy+=sep00;if(dy>vh00-sep00){dy=0;dx+=vw00/2}}
if(ver!='txt'){draw_text(dx,dy,'txt: '+string(txt));dy+=sep00;if(dy>vh00-sep00){dy=0;dx+=vw00/2}}
if(ver!='txt'){draw_text(dx,dy,'txt: '+string(txt));dy+=sep00;if(dy>vh00-sep00){dy=0;dx+=vw00/2}}
if(ver!='txt'){draw_text(dx,dy,'txt: '+string(txt));dy+=sep00;if(dy>vh00-sep00){dy=0;dx+=vw00/2}}

Cómo usar el script:
1. Colocar el script en un evento draw.
2. Posicionar el cursor en donde dice: “posicionar cursor aquí”.
3. Buscar en las herramientas del editor de código la opción “reemplazar texto”.
4. Reemplazar el texto “txt” por el valor de la variable que queramos visualizar.
5. Hacer tres reemplazos por cada variable, es decir presionar “reemplazar ” tres veces. Esto modificará inmediatamente el script adaptándolo a tus necesidades.

Tu código no es muy agradable.



Tienes que verlo en acción para que puedas percibir su utilidad, ya que permite el testeo de variables de manera rápida.



 Yo lo uso todo el tiempo y no puedo programar sin él  ya que me ahorra mucho tiempo de trabajo.



Voy a usarlo.



Adiós, Nos vemos luego.



 8)
« Última modificación: Julio 11, 2021, 10:46:10 am por dixon »

Si Dios quiere; Limpiaré la oficina, puliré el piso y les serviré café a todos, luego, me enseñarán a programar e iré a comprarles más café.
 


 


Warning: Parameter 1 to spoiler_buffer() expected to be a reference, value given in Unknown on line 0

Warning: Parameter 1 to custom_report_ob() expected to be a reference, value given in Unknown on line 0