Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: dixon en Noviembre 11, 2019, 08:17:08 pm

Título: Cómo lograr un "Hola mundo"? [Solucionado] en parte.
Publicado por: dixon en Noviembre 11, 2019, 08:17:08 pm
Hola, gusto en saludarles. Espero que estén bien.

Resumen: Como lograria mostrar un "Hola mundo" como el que se muestra en la siguiente imagen.

(http://img.fenixzone.net/i/7DKTvUH.gif)

Si el código necesario se encuentra   dentro de una variable de la siguiente manera:

Texto = 'draw_text(0,0,"Hola mundo")'

En versiones superiores a Game maker 8.


Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: 3dgeminis en Noviembre 12, 2019, 02:10:40 pm
La manera mas simple seria
///CRRATE
Texto="Hola mundo."

///DRAW
draw_text(0,0,Texto)

Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: Johann en Noviembre 12, 2019, 04:46:00 pm
La funcion execute_string fue removida para dar mayor compatibilidad de los jueos hechos con GMS en todas las plataformas, segun ellos, esa funcion dependía de cosas muy particulares de windowsy no funcionaria en las demas plataformas.
Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: Arcadian en Noviembre 12, 2019, 08:34:53 pm
Como bien dice Johann, estarías buscando utilizar execute_string() fuera de GM8...

Mira a ver esta extensión si te soluciona algo, es de uso similar a la función, según su autor:

https://marketplace.yoyogames.com/assets/4227/n-string-parser-2
Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: dixon en Noviembre 13, 2019, 04:13:28 pm
Hola, gusto en saludarles.

Es agradable saber que hay tanta gente dispuesta a ayudar.

Hola 3dgeminis, gracias por el aporte, entiendo ese código pero ahora la función draw_text necesariamente debe ser un string para de esta forma lograr programar desde un archivo de texto fuera del Game maker. Si esto se logra podremos programar en Game maker desde cualquier plataforma.

Gracias Johan, yo no sabía que habían quitado la función execute_string por cuestiones de compatibilidad. Siempre habia pensado que han quitado estás funciones por lo poderosas que son ya que con estas podría crearse un gamemaker gratuito.

Gracias Arcadian por  mostrarme la extención para Game maker studio, es cuestión de ponerla a prueba. Supongo que habrá manera de obtener el string de un archivo de texto externo y ejecutar el código.

Gracias por sus aportes, pero el caso es más específico. Consiste en lograr ejecutar solo ese tipo de string sin utilizar la extención.

Código propuesto:

Ahora tenemos dos string:

Texto1='draw_text(0,0,"Hola mundo")'
Texto2='draw_line(0,100,100,100)'

Se requiere crear un script que reciba como argumento la variable Texto la cual contiene el string del código. Este script debe cumplir los siguientes objetivos:

1. Encontrar en el string las palabras "draw_text" o "draw_line" para determinar el tipo de código a ejecutar.

2. Si encuentra "draw_text" entonces recorta o copia en una variable solo la parte del string que contiene la posición X y en otra la parte del string que contiene la posición Y para transformar estos datos en dato numérico. Luego recorta el texto a mostrar, en este caso el Hola mundo y lo coloca en otra variable, luego ejecuta algo así:

if (string="draw_text")
    {
   draw_text(var1,var2,var3)
    }

3. Si encuentra "draw_line" obtiene los valores y los transforma a dato numérico dentro de unas variable y ejecuta algo así

if(string="draw_line")
{
draw_line(var1,var2,var3,var4)
}

Entonces tendríamos un script que funciona igual que la extención pero que solo acepta 2 tipo de funciones ("draw_text" y "draw_line").

execute_string('draw_text(0,0,"Hola mundo"'))

Quiero saber si es posible hacer eso en Game maker superiores al 8. Porque no sé mucho de esas versiones.


     
Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: somnus en Noviembre 14, 2019, 07:47:10 pm
me parece bien este tipo de discuciones que nos ayudan a entender mas, sin embargo le estan dando muchas vueltas a un simple hola mundo, como sea que se haga de todos modos no Habra mucha diferencia en el impacto en memoria. mi humielde opinion, por cierto saludos reyes, mucho tiempo que no estabas por aca.
Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: dixon en Noviembre 15, 2019, 12:09:24 am
Hola Zaikathan , un placer encontrarlo de nuevo en esta dimensión. He quedado impactado con su juego spacial fight III, y agradecido estoy por los consejos de programación en Laravel.

Gracias por comentar y por expandir el universo del tema agregando la variable "memoria" ahora mi cabeza da muchas vueltas pensando en lenguajes de bajo nivel. Jajaja.

Lo que necesito desarrollar es una pequeña APK que me permita programar en lenguaje Gmk desde Android. Y todo comienza con un draw_text(0,0,"Hola mundo"). La lentitud que generará el procesamiento de strings solo me impedirá crear juegos grandes.

No quiero esperar para programar el código propuesto y crear el execute_string() .


Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: Clamud en Noviembre 16, 2019, 08:03:41 pm
Aquí hay algunas ideas para programar un intérprete de GML
https://yal.cc/interpreters-guide/
Título: Re:Cómo lograr un "Hola mundo"?
Publicado por: dixon en Noviembre 17, 2019, 01:43:24 am
Hola, clamud, muchas gracias por sus ideas, este tema es infinito.

Bueno, se cumplió el objetivo principal, el código propuesto esta funcionando con sus muchas limitaciones, pueden verlo dandole click a la imagen.
(http://img.fenixzone.net/i/1t32DQh.jpeg)
 (https://www.comunidadgm.org/desarrollo-de-scripts/execute_string()/msg138560/#msg138560)

Esto no termina pues falta:

1. Falta hacerle pruebas a la extención sugerida por arcadian
2. Falta analizar los avances del contenido que ofrece clamud.
3. Falta crear el ejecute_file()
4. Falta Lograr una programación básica desde android modificando un archivo de texto y ejecutando el ejecuta_file.
3. Falta lograr el ahorro de memoria desarrollando el motor desde otra plataforma más óptima.

Se aceptan ideas y sugerencias.