LA PAGINA DE RAPE - COMO USAR GAME MAKER

INICIO
CONTACTARME
LIBRO DE VISITANTES
EL FORO MAS COMPLETO
CANCIONES DE RAP
TRUCOS DE WINDOWS XP
TRUCOS DE WINDOWS XP 2
RESOLVER ALGUNOS PROBLEMAS DE XP
RESOLVER ALGUNOS PROBLEMAS DE 7
RESOLVER ALGUNOS PROBLEMAS DE VISTA
COMO USAR EL SETUP DEL BIOS
CREAR UN MARIO BROS CON LUNAR MAGIC
RESOLVER ALGUNOS PROBLEMAS DE 2000
TRUCOS DE WINDOWS XP 3
COMO USAR GAME MAKER
CANTIDAD DE VISITAS EN ESTA PAGINA
GAME MAKER PRINCIPIO
GAME MAKER PRINCIPIANTES UN POCO MAS AVANZADOS
COMO USAR RPG MAKER
RPG MAKER PARA PROFESIONALES
RPG MAKER ULTIMOS TEMAS
TRUCOS DE WINDOWS XP 4
TRUCOS DE WINDOWS XP 5
RESOLVER ALGUNOS PROBLEMAS DE ME, 98, 95
RESOLVER ALGUNOS PROBLEMAS DE WINDOWS SERVER 2008
COMO USAR GAME MAKER 2
COMO USAR GAME MAKER 3
CURSO DE MUGEN
ZONA DE DESCARGAS DE CHARS PARA MUGEN 1
ZONA DE DESCARGAS DE CHARS PARA MUGEN 2
ZONA DE DESCARGAS DE CAHRS PARA MUGEN 3
ZONA DE DESCARGA DE CHARS PARA MUGEN 4
ZONA DE DESCARGA DE CHARS PARA MUGEN 5
ZONA DE DESCARGAS DE CHARS PARA MUGEN 6
ZONA DE DESCARGA DE CHARS PARA MUGEN 7
CODIGOS DE ALT
TRUCOS DE WINDOWS XP 6
COMO USAR GAME MAKER 4
RESOLVER ALGUNOS PROBLEMAS DEL WINDOWS SERVER 2003
ZONA DE DESCARGA DE COSAS PARA MUGEN
PROGRAMAS PARA INSTALAR AL FORMATEAR UNA CPU
CREAR SERVERS ONLINE PARA EL HALF LIFE
EL MICROPROCESADOR
TRUCOS DE WINDOWS XP 7
RESOLVER ALGUNOS PROBLEMAS DE 3 1 NT 4 F10
CODIGOS HTML PARA TUS PAGINAS WEB
CALCULADORA
PLUGINS PARA PHOTOSHOP
COMO CREAR MAPAS PARA EL COUNTER STRIKE 1.6
COMO CREAR UNA PAGINA WEB
CHISTES DE COMPUTACION
TODOS LOS SERVES ARGENTINOS DEL COUNTER STRIKE 1.6 PARTE 1
TODOS LOS SERVERS ARGENTINOS DEL COUNTER STRIKE 1.6 PARTE 2
TODOS LOS SERVERS ARGENTINOS DEL COUNTER STRIKE 1.6 PARTE 3
COMO ARMAR UN CUBO DE RUBIK
PLANTILLAS PARA DISEÑO DE WEB
HACKERS
TRUCOS DE WINDOWS XP 8
RESOLVER ALGUNOS PROBLEMAS DE WINDOWS EN GENERAL
DE 32 BITS A 64 BITS
CONSEJOS DE INSTALACION DE WINDOWS 7
COMO HACE WINDOWS EASY TRANSFER CONFIGURAR SE EQUIPO FACILMENTE
INSTALAR Y USAR WINDOWS XP MODO EN WINDOWS 7
ACTIVACION DE WINDOWS 7
INICIAR WINDOWS DESDE UN CD DVD
¿SE PUEDE OBTENER MAS DEL SISTEMA OPERTIVO CON WINDOWS?
INTRODUCCION A WINDOWS 7
CREAR UN JUEGO PARA CELULAR
CHARS PARA TU PRIMER MUGEN
PROGRAMAS PARA CREAR CHARS, STAGES, ETC.
COMO USAR GAME MAKER 5
COMO USAR GAME MAKER 6
TRUCOS DE WINDOWS XP 9
MI MUGEN
MANTENIMIENTO COMPLETO DE LA CPU
SCRIPTS PARA IKARIAM



 
Game Maker es una herramienta de desarrollo rápido de aplicaciones, basada en un lenguaje de programación interpretado y un paquete de desarrollo de software (SDK) para desarrollar videojuegos, creado por el profesor Mark Overmars en el lenguaje de programación Delphi, y orientado a usuarios novatos o con pocas nociones de programación. El programa es gratuito, aunque existe una versión comercial ampliada con características adicionales. Actualmente se encuentra en su versión 8.0. Overmars liberó la primera versión pública el 15 de noviembre de 1999. Tuvo su origen en los años 1990, cuando Mark Overmars empezó a crear una herramienta de animación para ayudar a sus estudiantes. Con el tiempo su proyecto se convirtió en una herramienta de desarrollo de videojuegos. En 29 de mayo del 2005 salió la versión 6.1. y actualmente se encuentra en la version 8.0. 

Algunas de las características que podríamos destacar son las siguientes: 

Nuevo editor de scripts: Entre las nuevas características de éste, se encuentran la enumeración de líneas en la parte izquierda, y una pequeña ventana que nos ayudará a completar las funciones (Algo así como un autocompletado). 
* Nuevas funciones en las Time-lines: Ahora pueden ser pausadas, e incluso ser reproducidas del 
revés
* Mejorado editor de sprites: Ahora soporta transparencias PNG, y el editor trae nuevas herramientas y nuevos efectos. 
* Nueva interfaz de inicio: Aunque puedes deshabilitarlos, al comienzo del programa te aparecerán dos nuevas ventanas: Una de ellas te muestra las últimas 
noticias sobre el programa. Las noticias son llevadas oficialmente por YoyoGames. Y la otra se trata de una barra lateral que te muestra un sencillo tutorial de cómo empezar a manejarte con el programa. 

(Más características en inglés) 
* No Game Maker logo is shown when 
running a game. 
* No regular popups to remind you of upgrading. 
* Use rotated, 
color blended and translucent sprites. 
* Additional options in the sprite and image editors. 
* More actions e.g. 
CD music, rotated text, and colorized shapes. 
* Special sound effects and positional sound. 
* Create splash screens with movies, images, web pages, text, etc. 
* A particle system to create explosions, fireworks, flames, rain, and other effects. 
* Advanced drawing functions including example colorized text and textured polygons. 
* Create 3D 
games
* Multiplayer functions allowing you to create network games. 
* Define your own room transitions. 
* Create, load, and modify resources whilst the game is running. 
* Create and use data structures. 
* Functions for motion planning. 
* Include additional files in the game executables. 
* Use extension packages. 
* Define your own trigger events. 
* Game collaboration tools. 

IMÁGENES 



Como pueden 
ver trae un tutorial muy básico para los que no tienen ni idea de cómo usar este programa pero quieren empezar a hacerlo! =D 



Algo así se ve el área de 
trabajo 


 
Nuevas opciones para las 'collision checking' 



El sistema para Importar y Exportar recursos para los 
juegos ha sido implementado 


 
El nuevo editor de scripts has sido también modificado para que todo sea más fácil, nada más observen ese pop-up con las variables, funciones y demás... 


 
Propiedades de objetos con algunas nuevas acciones D&D (Drag & Drop) standard para facilitar la interacción de los mismo aparte de otras características. 


 

El nuevo tipo de 
eventos (los que han probado versiones anteriores del GM saben a que me refiero) son los triggers, los cuales son definidos por el usuario y llamados a su antojo. 

DESCARGAR 10 MB - FREAKSHARE 
(Game Maker 8 + Crack para hacerlo Pro) - Sin password 

*Importante - Si aparece algun 
mensaje de que el archivo tiene virus o algun tipo de malware, no se preocupen es debido al crack pues obviamente es un recurso no oficial ni mucho menos legal que por lo tanto encabeza las listas negras de cualquier antivirus. Nada más denle a su antivirus ignorar el mensaje. 

TUTORIAL COMO HACER UN PACMAN

Lo primero que tienes que hacer, es crear un fondo (background), para eso te vas a la columna izquierda donde pone “background”, pulsas el botón derecho y pulsas en “create background”, te saldrá un menú donde poder elegir el background que queráis, nosotros hemos elegido este:

 

 

 

background en game maker

 

Después, tienes que cargar los Sprites, para eso te vas a la columna izquierda, en “Sprites” botón derecho y “create sprites” y cargas los sprites del juego comecocos que encontrarás en tu carpeta de Game Maker:

sprites en game maker

 

Después tienes que insertar los objetos para el juego, para eso pulsas en el botón derecho en objects y le das a “create objects”, y hay cargas los objects a través de los sprites.

Una vez hecho eso tienes que insertarle las funciones a los objetos, tienen muchas funciones, en las fotos encontrarás las funciones que tienes que insertarles a todas y configurarlas a tu gusto:

Obetos en Game Maker

Objetos en Game Maker 2

Objetos en Game Maker 3

Objetos en Game Maker 4

Objetos en Game Maker 5

Objetos en Game Maker 6

Objetos en Game Maker 7

Objetos en Game Maker 8

Objetos en Game Maker 9

Objetos en Game Maker 10

Objetos en Game Maker 11

Objetos en Game Maker 12

Después de haber hecho esto para que los malos vayan dando vueltas por la pantalla crea un nuevo script y escribe lo siguiente:

// This script adapts the direction of the monster 
// when it comes at a possible crossing 

  if (hspeed == 0) 
  { 
    if (random(3)<1 && place_free(x-4,y)) 
      { hspeed = -4; vspeed = 0;} 
    if (random(3)<1 && place_free(x+4,y)) 
      { hspeed =  4; vspeed = 0;} 
  } 
  else 
  { 
    if (random(3)<1 && place_free(x,y-4)) 
      { hspeed = 0; vspeed = -4;} 
    if (random(3)<1 && place_free(x,y+4)) 
      { hspeed = 0; vspeed =  4;} 
  } 
}

Script en Game Maker

Ahora inserta un “time lines”, para ello en la columna de la derecha le das al botón derecho y a “create time lines”, le pones las siguientes opciones y lo configuras a tu gusto:

Time Lines en Game Maker

Ahora solo te queda insertar los objetos en la pantalla, para eso crea una nueva habitación y ponlos a tu gusto:

Y ahora pon el juego y mira que tal anda a nosotros nos quedo así:


Comecocos En Game Maker


el tutorial se llama Diseñando juegos con Game Maker 

se basa basicamente en 4 partes: 

a)Usando Game Maker 

b)uso avanzado 

c)Terminando tu juego 

d)
El Lenguaje Game Maker (GML) 


ahora les voy a explicar que contiene cada parte 

a)
Usando Game Maker 

descripción: 
Esta sección describe el uso básico de Game Maker. Explica la idea global detrás del programa, cómo añadir sprites, fondos y sonidos y cómo definir objetos con 
eventos y acciones y añadirlos a los cuartos. 

En esta sección se cubren los siguientes temas: 

1- Introducción 

2- Instalación 

3- Registro 

4-La idea global 

5-Un ejemplo sencillo 

6-La interfaz global de usuario 

7-Definiendo los sprites 

8-Sonidos y 
música 

9-Fondos 

10-Definiendo objetos 

11- Eventos 

12-Acciones 

13-Creando rooms 

14-Distribuyendo tu juego 

********************************************************************************************
b)
uso avanzado 
En esta sección se describen los aspectos más avanzados de Game Maker. En ella se explican los paths, fuentes, time lines, scripts y las técnicas para crear rooms con tiles y el uso de vistas. 

Esta sección se divide en los siguientes temas: 

1-Modo avanzado 

2-Más sobre los sprites 

3-Más sobre sonido y música 

4-Más sobre los fondos 

5- Más sobre los objetos 

6- Más acciones 

7- Más sobre las rooms 

8- Fuentes 

9- Paths 

10-Time lines 

11- Scripts 
******************************************************************************************* 
c)
Terminando tu juego 

descripcion: 
En esta sección veremos cómo convertir tu 
proyecto en un juego terminado. Aquí se describe cómo añadir archivos de ayuda al juego, configurar ciertas opciones y crear un ejecutable que pueda ser distribuido para que el juego funcione sin necesitar Game Maker. 

Esta sección se divide en los siguientes temas: 

1-Información del juego 

2-Opciones globales del juego 

3-Consideraciones sobre la velocidad 
***************************************************************************************** 
d)
El Lenguaje Game Maker (GML) 

descripcion: 
Game Maker posee un lenguaje propio de programación. Este lenguaje te da mucha más flexibilidad y control que las acciones normales. Este lenguaje se llama Lenguaje Game Maker (GML). En esta sección describiremos el GML y daremos un vistazo a las cerca de 1000 funciones y variables disponibles para controlar todos los aspectos de tu juego. 

Esta sección se divide en los siguientes temas: 

1-Estructura general del GML 

2- Haciendo cálculos 

3-Game 
Play 

4-Interacción con el usuario 

5-Gráficos del juego 

6-Música y sonido 

7-Ventanas, highscores y otros pop-ups 

8- Recursos 

9-Modificando los recursos 

10-Archivos, registro y ejecución de programas 

11-Estructuras de datos 

12-Creando partículas 

13-Juegos multijugador 

14-Usando DLLs 

15-Gráficos 3D 

ESTRUCTURA GML

 

Como habrás leído antes, el Game Maker 

 

 

contiene un lenguaje de programación interno. Este lenguaje te da mucha más flexibilidad y control que las acciones estándar. Nos referiremos a este lenguaje como el GML (de Game Maker Language). Hay diferentes lugares en los que puedes escribir programas con este lenguaje. El primero, cuando defines scripts. Un script es un programa en GML. Segundo, cuando agregas una acción de código a un evento. En una acción de código debes escribir un programa en GML.  Tercero, en el room creation code. Y finalmente, en cualquier momento que necesites especificar algún valor en una acción, puedes también emplear una expresión en GML. Una expresión, como veremos más adelante no es un programa completo, sino una pieza de código que devuelve un resultado.

 

 

 

 

 

 

 

En este capítulo describiremos la estructura básica de los programas en GML. Cuando desees usar programas en GML, se debe tener cuidado con ciertos aspectos. Primero que nada, para todos tus recursos (sprites, objetos, sonidos, etc.) debes emplear nombres que inicien con una letra y que sólo consistan de letras, números y el guión bajo "‘_". De otra forma no podrás referirte a ellas desde el programa. Mantente seguro que todos los recursos tengan nombres diferentes, también ten cuidado de no nombrar a tus recursos selfotherglobal o all porque estas son palabras que tienen un significado especial dentro del lenguaje. Tampoco debes usar ninguna de las palabras reservadas indicadas a continuación.

La estructura básica del GML se trata con detalle en los siguientes capítulos:

UN PROGRAMA:

 

 

 

 

 

 

 

 

 

 

 

Un programa consiste de un sistema de instrucciones, llamados sentencias. Un programa debe comenzar con el símbolo ‘{‘ y terminar con el símbolo ‘}’ . Las sentencias deben separarse con el símbolo ';'. La estructura global de todo programa es:

 

 

 

 

 

 

Hay un número de diferentes tipos de sentencias, de las cuales vamos a ver más abajo. 

VARIABLES

Como en cualquier lenguaje de programación, el GML contiene variables. Las variables son las posiciones de memoria que guardan la información. Las variables pueden almacenar valores reales o cadenas de texto. Las variables no necesitan ser declaradas como en otros lenguajes. Hay un gran número de variables internas. Algunas son generales, como mouse_x y mouse_y, las cuales indican la posición actual del cursor, mientras otras son locales para la instancia del objeto para el cual se ejecuta el programa, como “x” e “y” que indican la posición actual de la instancia. Una variable tiene un nombre que debe iniciar con una letra, y puede contener sólo letras, números, y el símbolo ‘_’ (La longitud máxima es de 64 caracteres). Cuando haces uso de una nueva variable, ésta es local para la instancia actual y no es conocida en los programas de otras instancias (aún del mismo objeto), aunque existe la posibilidad de hacer referencia a variables de otras instancias; mira más abajo para mayor información.

ASIGNACIONES

 

 

 

Una asignación pasa el valor de una expresión a una variable. Una asignación tiene la siguiente forma:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Una expresión puede ser un simple valor pero también puede ser más complicada. Además de asignar un valor a una variable, también se le puede sumar usando +=, restar usando -=, multiplicarla usando *=, dividirla usando /=, o usando |=, & o ^=.

VARIABLES EXTRA

 

 

 

Puedes crear nuevas variables al asignándoles un valor (no es necesario declararlas antes). Si simplemente usas un nombre de variable, la variable será almacenada sólo para la instancia actual. Por lo que no esperes encontrarla cuando manejes otro objeto (u otra instancia del mismo objeto). También se puede cambiar y leer variables de otros objetos colocando el nombre del objeto con un punto antes del nombre de la variable.

 

 

 

 

 

 
{
 
  if (global.hacer)
  {
    // hacer cualquier cosa
    global.hacer = false;
  }
}

A veces quieres variables que solo estén dentro del actual piece of code o de un script. De esta manera evitas perder memoria y estás seguro que no hay ningún conflicto con los nombres. Esto es también más rápido que usar variables globales. Para hacer esto debes declarar las variables en el comienzo del código, usando la palabra “var”. Esta declaración se ve así:

var <nombrevariable1>,<nombrevariable2>,<nombrevariable3>, ...

Por ejemplo, puedes escribir:

 
{
  var xx,yy;
  xx = x+10;
  yy = y+10;
  instance_create(xx,yy,pelota);
 
 
}

ACCEDIENDO A VARIABLES EN OTRAS INSTANCIAS

Como se dijo antes, puedes alterar variables en la instancia actual usando sentencias como:

 

x = 3;

 

Pero en ciertos casos querrás acceder a variables en otra instancia. Por ejemplo, para detener el movimiento de todas las pelotas, o para mover al personaje principal a cierta posición, o, en el caso de una colisión, cambiar el sprite de la otra instancia involucrada. Esto puede lograrse antecediendo el nombre del objeto y un punto al nombre de la variable. Así por ejemplo, puedes escribir:

 

pelota.speed = 0;

 

Esto cambiará la velocidad de todas las instancias del objeto pelota. Hay ciertos “objetos” especiales.

  • self: La instancia actual para la que estamos ejecutando la acción
  • other: La otra instancia involucrada en un evento de colisión
  • all: Todas las instancias
  • noone: Ninguna instancia (tal vez te parezca raro pero puede ser útil como veremos más adelante)
  • global: : No es precisamente una instancia, sino un contenedor que almacena variables globales

Por ejemplo, puedes usar las siguientes sentencias:

 
other.sprite_index = sprite5;
all.speed = 0;
global.message = 'Un buen resultado';
global.x = pelota.x;

 

Ahora tal vez te estés preguntando lo que la última tarea realiza cuando hay más de una pelota. Bien, se toma la primera y su valor x es asignado al valor global.

 

Pero qué tal si deseas establecer la velocidad de una pelota en particular, en lugar de la de todas ellas. Esto es un poco más difícil. Cada instancia tiene un id único. Cuando colocas instancias en un cuarto en el diseñador, este id se muestra cuando colocas el ratón sobre la instancia. Estos números son mayores o iguales a 100000. Puedes emplear estos números como la parte a la izquierda del punto. Pero ten cuidado, el punto será interpretado como el punto decimal en el número. Para evitarlo, colócalo entre paréntesis. Así por ejemplo, asumiendo que el id de la pelota es 100032, puedes escribir:

 

 (100032).speed = 0;

Cuando creas una instancia en el programa, la llamada devuelve su id. Una pieza de programa válido es:

 
{
  nnn = instance_create(100,100,pelota);
  nnn.speed = 8;
}

 

Esto crea una pelota y establece su velocidad. Nota que hemos asignado el id de la instancia a una variable y usamos esta variable como indicación antes del punto. Esto es completamente válido. Déjame explicarlo un poco mejor. Un punto es de hecho, un operador. Toma un valor como el operador de la izquierda y una variable (dirección) como el operador de la derecha, y devuelve la dirección de esta variable en particular para el objeto o instancia indicados. Todos los nombres de objetos, y los objetos especiales nombrados antes representan valores y pueden ser tratados como con cualquier otro valor. Por ejemplo, el siguiente programa es válido:

 

{
  obj[0] = pelota;
  obj[1] = bandera;
  obj[0].alarm[4] = 12;
  obj[1].id.x = 12;
}

 

La última sentencia debiera interpretarse como sigue. Tomamos el id de la primera bandera. Para la instancia con ese id establecemos a 12 su coordenada x.

Los nombres de objetos, objetos especiales y los id de las instancias pueden también emplearse en otros programas.

ARRAYS

Puedes emplear arrays de una o dos dimensiones en el GML. Simplemente coloca el índice entre corchetes cuadrados para un array unidimensional, y los dos índices con una coma entre ellos para los arrays bidimensionales. En el momento en que emplees un índice el array es generado. Cada array inicia en el índice 0. Por lo que debes tener cuidado al usar índices muy grandes ya que se ocupará memoria para un array grande. Nunca emplees índices negativos. El sistema coloca un límite de 32000 para cada índice y 1000000 para el tamaño total. Por ejemplo, puedes escribir lo siguiente:

 

{
  a[0] = 1;
  i = 1;
  while (i < 10) { a[i] = 2*a[i-1]; i += 1;}
  b[4,6] = 32;
 

 

 

 

 

 

}


SENTENCIA IF

Una sentencia If tiene esta forma

if (<expresión>) <sentencia >

o

if (<expresión>) <sentencia> else <sentencia >

 

La sentencia también puede ser un bloque. La expresión se evaluará. Si el valor (redondeado) es <=0 (false) se ejecuta la sentencia después del else, de otra forma (true) se ejecuta la otra sentencia. Es un buen hábito colocar siempre corchetes a las sentencias en la sentencia if. Por lo que mejor usa

 

if (<expresión>)
{
  <Sentencia >
}
else
{
  <Sentencia >
}

Ejemplo
El siguiente programa mueve el objeto hacia el medio de la pantalla.

 
{
  if (x<200) {x += 4} else {x -= 4};
 
 
 
 
}

SENTENCIA REPEAT

Una sentencia repeat tiene esta forma

repeat (<expresión>) <sentencia >

La sentencia es repetida el numero de veces indicado por el valor redondeado de la expresión.

Ejemplo
El siguiente programa crea 5 pelotas en posiciones aleatorias.

 
{
  repeat (5) instance_create(random(400),random(400),pelota);
 
 
}

SENTENCIA WHILE

Una sentencia While tiene esta forma

while (<expresión>) <sentencia>

 

Mientras la expresión sea verdadera, la sentencia (que puede también ser un bloque) es ejecutada. Ten cuidado con tus ciclos while. Puedes fácilmente hacer que se repitan eternamente, en cuyo caso el juego se bloqueará y ya no responderá a los comandos del usuario.

Ejemplo
El siguiente programa trata de colocar el objeto actual en una posición libre (esto es casi lo mismo que la acción para mover un objeto a una posición aleatoria).

 
{
  while (!place_free(x,y))
  {
    x = random(room_width);
    y = random(room_height);
  }
 
 
}

SENTENCIA DO

La sentencia Do tiene esta forma:

do <sentencia> until(<expresión>)

 

La sentencia (que puede también ser un bloque) es ejecutada hasta que la expresión sea verdadera. La sentencia se ejecuta por lo menos una vez. Ten cuidado con los ciclos do. Puedes fácilmente crear uno que se repita indefinidamente, en cuyo caso el juego se bloqueará y ya no responderá a los eventos generados por el usuario.

Ejemplo
El siguiente programa intenta colocar el objeto actual en una posición libre (esto es lo mismo que mover un objeto en una posición aleatoria)

 
{
  do
  {
    x = random(room_width);
    y = random(room_height);
  }
  until (place_free(x,y))
 
 
}

SENTENCIA FOR

Una sentencia For tiene esta forma:

for (<sentencia1> ; <expresión> ;<sentencia2>) <sentencia3>

 

Funciona de la manera siguiente. Primero se ejecuta la sentencia1. Entonces se evalúa la expresión. Si es verdadera, se ejecuta la sentencia3; entonces la sentencia2 y luego se evalúa nuevamente la expresión. Esto continúa hasta que la expresión sea falsa.

 

Puede sonar complicado. Debes interpretarlo de la manera siguiente. La primera sentencia inicializa el ciclo for. La expresión prueba si el ciclo debiera terminar. La

sentencia2 es la sentencia de paso hacia la evaluación del siguiente ciclo.

 

El uso más común es para llevar un contador hasta cierto valor.

Ejemplo
El siguiente programa inicializa un array llamada “lista” de longitud 10 con los valores 1-10.

 
{
  for (i=0; i<=9; i+=1) lista[i] = i+1;
 
 
}

SENTENCIA SWITCH

En ciertas situaciones querrás llevar a cabo alguna acción dependiendo de un valor en particular. Puedes lograrlo empleando varias sentencias if pero es más sencillo si empleas la sentencia switch. Una sentencia switch tiene la siguiente forma:

 
switch (<expresión>)
{
  case <expresión1>: <statement1>; ... ; break;
  case <expresión2>: <statement2>; ... ; break;
  ...
  default: <statement>; ...
}

Funciona así: primero se ejecuta la expresión. Después se compara con los resultados de las diferentes expresiones delante de las sentencias case. La ejecución continúa después de la sentencia case con el valor correcto, hasta que se encuentre una sentencia break. Si no se encuentra una sentencia case con el valor correcto, la ejecución continúa después de la sentencia default. (No es necesaria la sentencia default. Nota que se pueden colocar múltiples sentencias case para la misma sentencia. También, no es necesaria la sentencia break. Si no existe una sentencia break, la ejecución simplemente continúa con el código para la siguiente sentencia case.

Ejemplo
El siguiente programa lleva a cabo una acción según la tecla que se presione.

 
switch (keyboard_key)
{
  case vk_left:
  case vk_numpad4:
    x -= 4; break;
  case vk_right:
  case vk_numpad6:
    x += 4; break;
 
 
}

SENTENCIA BREAK

La sentencia Break tiene esta forma:

break

 

 

 

 

Si se emplea en un ciclo for, while, repeat, en una sentencia switch o with, finaliza el ciclo o sentencia. Si es empleada fuera de una de estas sentencias finaliza el programa no el juego).


SENTENCIA CONTINUE

La sentencia Continue tiene esta forma

 
continue

 

Si se emplea dentro de un ciclo for, while, repeat o con una sentencia with, continua con el siguiente valor del ciclo for o de la sentencia with.

SENTENCIA EXIT

La sentencia Exit tiene esta forma:

exit

 

Simplemente termina la ejecución del programa/script actual. (¡No termina la ejecución del juego! Para ello necesitas la función game_end(); ver más abajo)

FUNCIONES

Una función tiene la siguiente estructura: nombre de la función, seguido por uno o varios argumentos entre paréntesis, separados por comas (también puede no incluir ningún argumento).

 

<función>(<arg1>,<arg2>,...)

 

Hay dos tipos de funciones. En primer lugar, tenemos una gran cantidad de funciones internas, para controlar todos los aspectos del juego. Después, cualquier scipt que definas en el juego puede ser usado como una función.

 

Nota que para una función sin argumentos aún se necesitan los paréntesis. Algunas funciones devuelven valores y pueden ser empleadas en expresiones. Otras simplemente ejecutan órdenes.

 

Nota que es imposible usar una función como el lado izquierda de una asignación. Por ejemplo, no puedes escribir instante_nearest(x,y,obj).speed = 0. En lugar, debes escribir(instance_nearest(x,y,obj)).speed = 0.

SCRIPTS

Cuando creas un script, querrás tener acceso a los argumentos enviados a él (ya sea cuando uses una acción script, o cuando llames al script como una función desde un programa u otro, o inclusive desde el mismo script). Estos argumentos se almacenan en las variables argument0, argument1, …, argument15. Por lo que puede haber como máximo 16 argumentos. (Nota: cuando se llama un script desde una acción, sólo se pueden especificar los primeros 5 argumentos). Pueden usar también argument[0], etc.

 

Los scripts también pueden devolver un valor, por lo que pueden ser empleados en expresiones. Para ello debes emplear la sentencia return:

 

return <expresión>

¡La ejecución del script termina en la sentencia return!

Ejemplo
Aquí esta la definición de un script que calcula el cuadrado del argumento:

 
{
  return (argument0*argument0);
}

 

Para llamar un script desde una pieza de código, solo hazlo como cuando se hacen las llamadas a funciones. Esto es, escribe el nombre del script con sus argumentos entre paréntesis.

CONSTRUCCIONES WITH

Como se indicó antes, es posible leer y cambiar el valor de las variables en otras instancias. Pero en ciertos casos querrás hacer mucho más con esas otras instancias. Por ejemplo, imagina que deseas mover todas las pelotas 8 píxeles hacia abajo. Pudieras pensar que eso se logra con el siguiente código

 

pelota.y = pelota.y + 8;

 

Pero no es correcto. El valor a la derecha de la asignación obtiene la coordenada y de la primera pelota y le suma 8. Entonces este nuevo valor se toma como la coordenada y para todas las pelotas. Por lo que el resultado es que todas las pelotas tienen la misma coordenada y. La sentencia

pelota.y += 8;

 

tendrá exactamente el mismo efecto porque es simplemente una abreviatura de la primera declaración. Entonces, ¿cómo logramos esto? Para ello existe la declaración with. Su forma general es

 

with (<expresión>) <sentencia>

 

<expresión> indica una o más instancias. Para esto puedes emplear el id de la instancia, o el nombre de un objeto (para indicar todas las instancias de este objeto) o uno de los objetos especiales (all, self, other, noone). <declaración> se ejecuta para cada una de las instancias indicadas, como si la instancia fuera la instancia (self) actual. Así, para mover todas las pelotas 8 píxeles hacia abajo, puedes escribir

 

with (pelota) y += 8;

 

Si deseas ejecutar múltiples declaraciones, colócalas entre corchetes. Por ejemplo, para mover todas las pelotas a una posición aleatoria, puedes usar

 

 
with (pelota)
{
  x = random(room_width);
  y = random(room_height);
}

 

Nota que, dentro de las sentencias, la instancia indicada se ha vuelto la instancia self. Entonces, la instancia self original ahora es la instancia other. Así, por ejemplo, para mover todas las pelotas a la posición de la instancia actual, puedes usar

 

 
with (pelota)
{
  x = other.x;
  y = other.y;
}

 

El uso de la declaración with es muy poderoso. A continuación te muestro unos cuantos ejemplos más. Para destruir todas las pelotas usas

 

with (pelota) instance_destroy();

Si una bomba explota y tu quieres destruir todas las instancias cercanas a ella puedes usar

 
with (all)
{
  if (distance_to_object(other) < 50) instance_destroy();
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

}


FUNCIONES Y VARIABLES EN GML

El GML contiene un gran número de funciones y variables internas. Con ellas puedes controlar cualquier parte del juego. Para todas las acciones existe una función correspondiente por lo que de hecho no necesitas emplear ninguna acción si prefieres emplear código. Pero hay muchas más funciones y variables que controlan aspectos del juego que no se pueden acceder sólo empleando acciones. Por lo que si deseas crear juegos más avanzados se te recomienda leer los siguientes capítulos para tener un panorama general de todo lo que es posible lograr. Por favor nota que estas variables y funciones pueden también emplearse cuando se envían valores para las acciones. Por lo que aún si no planeas emplear código o escribir algún script, aún obtendrás beneficios de esta información.

 

En los capítulos siguientes se emplean las siguientes convenciones. Los nombres de variables marcados con un * son sólo de lectura, es decir, no se puede cambiar su valor.

Los nombres de variables con [0...n] después de ellos son arrays. Se da el intervalo posible de sus índices.

COMENTARIOS

Puedes agregar comentarios a tus programas. Todo en una línea después de // no se ejecuta. Puedes hacer también una multi-línea de comentarios colocando el texto entre /* y */.


EXPRESIONES

 

 

 

Las expresiones pueden ser números reales (p. Ej. 3.4), números hexadecimales, comenzando con el signo ‘$’ (p. Ej. $00FFAA), cadenas entre comillas simples o dobles (p. Ej. ‘hola’ o “hola”) u otras más complicadas. Para las expresiones, existen los siguientes operadores binarios (en orden de prioridad):

 

 

 

 

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

 

Nota que el valor x div y es el valor de x/y redondeado en la dirección de cero al número entero más cercano. El operador mod devuelve el resto obtenido dividiendo sus operandos. En otras palabras, x mod y =  x – (x div y) * y

 

 

 

 

. También, los operadores de bit existen:

 

 

 

 

 

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

 

 

 

 

 

 

Como valores se pueden emplear números, variables o funciones que devuelvan algún valor. Las sub-expresiones se pueden colocar entre paréntesis. Todos los operadores funcionan para valores reales. Las comparaciones también funcionan para las cadenas y el + concatena cadenas.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ejemplo

 

 

 

 

 

Aquí hay un ejemplo con algunas asignaciones

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Buscador de Internet

Hoy habia 34505 visitantes (54665 clics a subpáginas) ¡Aqui en esta página!
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis