Documente Academic
Documente Profesional
Documente Cultură
en codigo GML
http:/www.aprendegamemaker.com/
David Lpez 2015
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Si has empezado con Game Maker, es muy posible que hayas utilizado las acciones
Drag&Drop para programar tus objetos, has podido hacer juegos sencillos y te has
habituado a la interfaz del programa.
Una vez hecho varios proyectos, es el momento de dar el salto, hacer cosas ms
complejas, y eso pasa por codificar en gml. Pero si no ests acostumbrado a
programar, pasar de hacer acciones Drag and Drop a escribir en GML puede ser muy
frustante, ya que el cambio puede ser un poco confuso.
Una manera de hacerlo ms fcil de entender es relacionar cada botn de accin con
una funcin (a veces un grupo de funciones o instrucciones). De esta manera,
sustituimos una accin por cdigo GML, y la transicin resulta ms fcil.
En versiones anteriores de Game Maker, vea en internet documentos con la
equivalencia entre acciones y GML. Como no lo he visto en Game Maker Studio, a
continuacin vamos a hacer una referencia dnde veremos la accin y su cdigo
equivalente.
Para cada accin, har una tabla con 3 columnas: la primera con el icono y nombre de
la accin, la segunda las opciones que aparecen para modificar dicha accin y la
tercera su cdigo equivalente. Tendr un aspecto parecido a ste:
El cdigo GML puede ser, como hemos dicho anteriormente, una funcin o una serie
de instrucciones varias. A veces pondr dos posibles soluciones, para que podamos
comparar. Es posible que veamos ms parmetros en las funciones GML que en las
2
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
acciones, simplemente pondr los que den el mismo resultado, sabiendo que un
cambio en ellos har otros efectos. Por ejemplo:
draw_text(x, y, "Hola");
draw_text_ext(x, y, "Hola", 1, 1);
draw_text_colour(x, y, "Hola", c_white, c_white, c_white,
c_white, 1);
draw_text_transformed(x, y, "Hola", 1, 1, 0);
Son iguales, pero usar una funcin u otra es para poder usar los parmetros que ms
se adecuan a cada situacin. En esta referencia slo pondr una funcin, y si existiesen
ms parmetros dejar el valor por defecto.
Applies to / Aplica a
En este apartado vemos tres opciones, para saber que dicha accin se ejecuta en Self,
el objeto dnde se aade, Other, el objeto que afecta a la colisin y Object: cualquier
objeto que le digamos.
Para Self no hay que hacer nada extra, pero para las otras opciones usaremos la
instruccin with.
with (other) {
//Cdigo GML de la tercera columna
}
with (nombre_objeto) {
//Cdigo GML de la tercera columna
}
Relative
Si damos un valor a una variable, por ejemplo score, con la accin correspondiente,
perderemos el valor que ya tena. Esta casilla se utiliza para no perder ese valor y
3
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
score += 10;
Otro ejemplo que se usara en una funcin, si creamos un objeto con el check Relative,
sera as:
NOT
if (x != 50)
if (!place_free(x, y))
4
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
if (place_free(x, y) == false)
if (place_free(x, y) != true)
5
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
La pestaa move
motion_set(direction, speed);
motion_set(direction, speed);
6
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Speed Horizontal
Speed Vertical
Reverse Horizontal
Reverse Vertical
7
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Set Friction
8
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
En ambas direcciones
move_contact_all(direction, maximum);
move_bounce_all(precise);
9
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
End Path
Path Position
Path Speed
10
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
La pestaa main1
direction: nmero
Utilizando variables
11
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Destroy Instance
12
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Stop Sound
Check Sound
Previous Room
Next Room
13
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Restart Room
Different Room
Check Previous
Check Next
La pestaa main2
14
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
15
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Display Message
Open URL
Restart Game
End Game
Save Game
16
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Load Game
La pestaa control
All
Todos los objetos
if (place_empty(x, y))
17
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
if (instance_number(nombre_objeto) <
numero)
Mayor que
if (instance_number(nombre_objeto) >
numero)
Test Chance
Check Question
18
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Test Expression
Start Block
End Block
Else
19
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Exit Event
Repeat
Execute Code
20
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Comment //cadena
Un bloque de lneas
/*
cadena
*/
21
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
La pestaa score
Set Score
Mayor que
22
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Clear highscore
Set Lives
larger than
Menor que
Mayor que
23
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Set Health
larger than
Menor que
Mayor que
24
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
La pestaa extra
windows_set_cursor(cr_none);
Monstrando cursor
windows_set_cursor(cr_default);
La pestaa draw
Draw Self
25
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
draw_background_tiled(nombre_backgrou
nd, x, y);
26
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
27
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
Set Color
28
GuIa de acciones Drag&Drop en codigo GML
http:/www.aprendegamemaker.com/
window_set_full_screen(false);
Pantalla copleta
window_set_full_screen(true);
Take Snapshot
29