* 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: (http://s2.subirimagenes.com/imagen/previo/thump_4019782gm4.png) (http://www.subirimagenes.com/imagen-gm4-4019782.html) :GM5: :GM6: :GM7: :GM8:
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
(http://img20.imageshack.us/img20/3430/dibujarvariablesyoperac.jpg) (http://img20.imageshack.us/i/dibujarvariablesyoperac.jpg/)
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
CitarRun 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.
gracias muy buen aporte . :D una de las muchas cosas por las que considero que el debug de gamemaker es realmente malo.
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.
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.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSjeKNG_Ja-NonTuooGRMw-3pqd5AMstVhPXmcfWZUD6-IG2dBmGF5g8A7yA3I&s)
Tengo achaques de viejo así que por favor déjenme explicar el origen y la utilidad del script antes de presentar las mejoras:
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSX50NKkJ7LcCESZl2bXZaeAmFE8lmw6vReka7Are3fdy6wGcW-EgeZcXYjMQ&s)
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.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQK-qsy60JISuXOVeU4x5x1_hkA1flzZ3feGXSp2oM0NYjwSSPYfQ4MhAtKyA&s)
Creo que no te entendí nada.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcREjvQO7eS4K9F2X3xN8sAhuJRsB7EnvOQNeAwtDtaPR1kYol6bxM65dgtrRgU&s)
Ya te explico mejor:
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTT8HD0VTyhq8rgFHuL47mA_3tvba9wQKGNnhpuuQuqYP0u24lRGubn6S7MvA&s)
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.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9VtOOBtY6HWGtap9DzfPx_nezKjN263RUhrlhGY0iSanfEVkpwBFasRxyqg&s)
¿Eso es todo?.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRB7tmYrBcCl9TJhSq-M8ZFSx-lP7TCyn099cWltUH4gmKq_EnIZxljaOOVsA&s)
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.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQnGbeLZHQuuXtDR4rbsx6ySOPEYf9axnuDTfeLKfqJA8ch2cBbTY6OO8do0A&s)
mmm.....
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRYK2qBIJNCMkIY30zVYPSNkATDlC7Pvqii88oyNbUmzhvLSACKFeibIuls22s&s)
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:
[gml]
//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}}[/gml]
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.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR4-sdTcNg-SA8bgmOoPIfhnNyhZL8GlFp25pB9BZkh0f3D5-eRw5x8Wu7qvA&s)
Tienes que verlo en acción para que puedas percibir su utilidad, ya que permite el testeo de variables de manera rápida.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSeIlPMr7uQJUAvOi726-4sIp4Nrhde5FCcwk59QXkLvpp-OFaKiS5YbcAIOw&s)
Yo lo uso todo el tiempo y no puedo programar sin él ya que me ahorra mucho tiempo de trabajo.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTD16uXdcKOFcKDN07Tuwym1844-zXJer7g4YJSPDj6TOBnB1c8_ozB0rSEYw&s)
Voy a usarlo.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTaER5_uLTg65Qp2a5Tqi8MN1gzDKxpof-Fb9oTLlB5S1zypBQIjQZSvLw3gg&s)
Adiós, Nos vemos luego.
(https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRfks98M1wUzKIk-GobJZRDSz8GxskiEGYRlWM2A6AxFDQVxwp8jC9ffH8X48o&s)
8)
Hola un gusto en saludarlos.
(https://i.ibb.co/fkL0mpZ/saludos.png)
Aquí les traigo una nueva actualización del código que nos permite mostrar variables en pantalla de manera fácil.
//draw_text_super
txt=""
+'"" :'+string("")+chr(13)
draw_text(0,0,txt);
Modo de uso:
1. Colocamos el código en un evento draw o dibujo.
2.Reemplazamos las comillas dobles ("") por la variable o función que necesitemos mostrar.
3. Si necesitamos mostrar muchas variables debemos copiar el código:
+'"" :'+string("")+chr(13)
Ejemplo:
Si colocamos el siguiente código:
//draw_text_super
txt=""
+'direction :'+string(direction)+chr(13)
+'chr(65) :'+string(chr(65))+chr(13)
+'"" :'+string("")+chr(13)
draw_text(0,0,txt);
Obtendremos lo siguiente:
(https://i.ibb.co/b1Srvm5/draw-text-super.png)