Hola a todos los usuarios.
Hace poco me he descargado el software GameMaker 8 el cual desconoc?a por completo.
Lo primero que he hecho es descargarme los tutoriales y manuales que he encontrado, tanto en esta p?gina como en la de YoyoGames, y empezar a leer.
Tengo unas m?nimas nociones de programaci?n por lo que me interesa aprender tambi?n el lenguaje GML. He visto que las expresiones, variables... son bastante intuitivas, gram?tica poco estricta y bien definidas en la ayuda pero no entiendo la estructura del programa surgi?ndome dudas como ?C?mo se definen las estructuras? ?D?nde se definen las variables locales y globales? ?c?mo empiezo un simple programa? ?Acaso s?lo se puede escribir dentro del objeto, room, time line, etc? No he visto una opci?n que sea escribir en una hoja en blanco un programa completo de arriba a abajo.
As? pues:
?Existe alg?n tipo de conversor que te "traduzca" el programa que has ejecutado con los botones de arrastrar y pegar al lenguaje espec?fico GML? As? podr?a comparar con ejemplos sencillos lo que hacen los botones con el c?digo real y creo que avanzar?a en la comprensi?n del programa, o mejor dicho su estructura.
Gracias por vuestra atenci?n.
Mmmm.. vamos por partes.
1.- Revisa el reglamento, se te olvido poner el icono y en esta seccion es obligatorio (lo hacemos para poder mantener la clasificacion de los temas). Lo habitual en estos casos suele ser borrar el mensaje.
2.- Por lo que leo, parece que lo que mas te confunde es el concepto de programacion que utiliza GM. En GM, al contrario que en otros lenguajes, se programa sobre eventos.
Te pongo un ejemplo: los eventos "create" y "step" son eventos que se dan al crear un objeto(evento "create") y de forma continua a una velocidad constante (evento "step" por defecto 30 veces por segundo).
Ahora pongamos que introduces codigo en un evento "step" sin haber definido las variables previamente. En ese caso recibiras el error correspondiente de variable inexistente. ?Como y cuando se declaran entonces? en un principio no es preciso definir el tipo de variable (entera, cadena, decimal, binaria...) pero si su alcance (global o local). Podrias o bien definirlas durante la creacion del objeto (evento create), de forma continua (step) o bien en cualquier otro momento (evento). Lo unico que tienes que tener en cuenta es que en el momento de hacer uso de la variable, esta ya debe de estar declarada.
Para definir el tipo de una variable basta con asignarle un valor.
[GML]cadena="hola";
entero=10;
binario=true;
decimal=1.23;[/GML]
Todas las variables son, por defecto, locales. Para definir un alcance mayor, basta con a?adir "global." al nombre de la variable.
[GML]global.entero=10; [/GML]
En un principio los alcances de las variables terminan aqui: o bien son globales, o bien locales. Sin embargo tambien es posible crear herencias entre objetos. No es complejo y es bastante util, pero para empezar tampoco es algo fundamental y se sale del marco del tema. Si quieres saber mas sobre ese tema en especial y no lo terminas de ver claro, te invito a abrir otro tema.
Con respecto al traductor que buscas... tenemos algo parecido guardado en la seccion de descargas. Espero que te sea de utilidad:
http://www.comunidadgm.org/index.php?page=verdescargas&accion=descargaD&download_id=157
Animo y al toro.
?Nos leemos!
Gracias por la respuesta.
Por lo que entiendo, el c?digo se escribe cuando tienes agregado un evento (pinchando en el bot?n evento) y luego, en lugar de arrastar los botones de las acciones de ese evento es ah? donde puedes escribir.
Y si quieres escribir c?digo referente a las habitaciones tienes que ir a la room correspondiente y buscar la opci?n de a?adir c?digo.
Hmmmm...
Hay cosas que meditar...Seguir? mirando manuales y ayudas.
Saludos
PD: Es una excusa mala pero era mi primer mensaje y a pesar de leerme las normas se me olvid? marcar el icono del mensaje.
En realidad siempre tienes que arrastrar la acci?n de Execute Code o Execute Script si es que est?s usando scripts. :)