Sporepedia 2
¡Bienvenido a Sporepedia 2! Si quieres empezar a compartir tus creaciones y descargar las de otros, regístrate ya.

Conectarse

Recuperar mi contraseña

Últimos temas
» [Aventura] A la muerte con los piratas [♫]
Hoy a las 20:19 por DDeckBBacon

» ¿Dulce o Truco?
Hoy a las 20:14 por El Señor de los Dadillos

» [DoT] Tacos de cerbero [12]
Hoy a las 20:08 por CefaloSapiens

» Momia maldita [DoT][16]
Hoy a las 18:52 por Sidimey

» Cambiar Menú del Foro
Hoy a las 18:02 por XleandroX

» Un T-Rex y unos Glophip
Hoy a las 16:43 por Glophip

» Proyecto de Aventura: Explorando CRX-428 (Pausado)
Hoy a las 16:22 por Rhinestone

» Proyecto aventura: "Museo de la S2" [♫]
Hoy a las 16:21 por Rhinestone

» Nadie va a ver esto pero igual lo publico ;-;
Hoy a las 16:21 por Rhinestone

» Rebelion reptiliana
Hoy a las 15:57 por Rhinestone

» Antiga Prime Set Terrestre
Hoy a las 15:49 por Rhinestone

»  Antiga Prime Set Edificios
Hoy a las 15:22 por Rhinestone

» Kaprosuchus
Hoy a las 14:36 por Rhinestone

» [DoT] Basilisco [6]
Hoy a las 14:11 por Crow

» Demonio Desencadenado [DoT][2]
Hoy a las 13:11 por Rhinestone

» Chiroptero [10] [DoT]
Hoy a las 12:59 por Osgoltboy400

» Bichos feos
Ayer a las 21:12 por Coldfusion

» Un roberto
Ayer a las 19:09 por Glophip

» [DoT] La Momia [16]
Ayer a las 10:33 por Crow

» Fungus Zombie [DoT][7](Zombie)
Ayer a las 02:29 por Tadoki

» La Serpe Basilisco [DoT][6](Basilisco)
Ayer a las 01:56 por Tadoki

» La Parca Nigromante [5][DoT] [5] (Parca)
Ayer a las 01:33 por Tadoki

» Tarsaurus [DoT][4](Alien-Zerg)
Ayer a las 00:53 por Tadoki

» Cambiar el ícono del mouse en el foro
Ayer a las 00:28 por Lirianer

» Tribunal Popular de Justicia.
Ayer a las 00:07 por Rhinestone

» Una Mejor Busqueda Avanzada
Miér 18 Oct 2017, 23:45 por Rhinestone

» Ausencia de Users en el CB
Miér 18 Oct 2017, 23:43 por Rhinestone

» Modificacion estetica simple
Miér 18 Oct 2017, 23:40 por Rhinestone

» Estética del foro.
Miér 18 Oct 2017, 23:30 por Lirianer

» Mejorar versión de móvil
Miér 18 Oct 2017, 23:19 por Rhinestone

» Sobre la Música en las paginas...
Miér 18 Oct 2017, 22:22 por Rhinestone

» [DoT] Cthulhu, el primigenio [18]
Miér 18 Oct 2017, 21:26 por Marcob2 [DCF]

» King Crimson (JJBA Vento Aureo) [DoT] [24]
Miér 18 Oct 2017, 21:20 por Marcob2 [DCF]

» Rise of Cults II [Rol y Estrategia] [♫]
Miér 18 Oct 2017, 20:04 por Paul_q_f

» Bruja Granuja [DoT][22]
Miér 18 Oct 2017, 18:19 por Mx3brainpower

» Sangre para el Dios Khorne [DoT][2](Demonio)
Miér 18 Oct 2017, 16:19 por Tadoki

» [Halloween] Hada [23]
Miér 18 Oct 2017, 15:44 por Crow

» [Halloween] Kraken/xXTentacleraper1337n0h4x1vs1 [18]
Miér 18 Oct 2017, 14:54 por Coldfusion

» Golem de Barro [DoT][21]
Miér 18 Oct 2017, 14:43 por SrGaliಠth

» Premios, Smilies y Frases Célebres
Miér 18 Oct 2017, 13:18 por Crow

» Tras pensarlo... quiero volver.
Miér 18 Oct 2017, 12:59 por Crow

» [DoT] Volipros-Pv3 [20] - Max
Miér 18 Oct 2017, 00:47 por Max

» [DoT] Lacayo Rastreador [2] - Max
Mar 17 Oct 2017, 22:36 por Max

» Payaso Gordo [DoT][11]
Mar 17 Oct 2017, 22:02 por Tadoki

» Taller -The Stones-
Mar 17 Oct 2017, 21:40 por Tadoki

» La Hada que no es de los dientes [DoT][23](Hadas Madrinas xD)
Mar 17 Oct 2017, 21:16 por Tadoki

» Golem Guardian [DoT][21] (Golem)
Mar 17 Oct 2017, 20:38 por Tadoki

» ¡Te Reto!
Mar 17 Oct 2017, 20:27 por Tadoki

» Spore DS - Criaturas de Zaguero
Mar 17 Oct 2017, 20:24 por Tadoki

» [DoT] La Bruja Truja [22] - Max
Mar 17 Oct 2017, 20:13 por Tadoki

» [DoT] La Parca [5]
Mar 17 Oct 2017, 17:39 por Rhinestone

» [DoT] Cibria [04]
Mar 17 Oct 2017, 14:34 por SHODAN

» Lovison [DoT 13]
Mar 17 Oct 2017, 10:42 por lPokerFace

» La Oscuridad y los Grox [DoT] [15] (Grox)
Mar 17 Oct 2017, 00:10 por Tadoki

» [DoT] Aracne [14]
Lun 16 Oct 2017, 16:30 por Coldfusion

» Aracne Tirapalante [DoT] [14] (Aracne)
Lun 16 Oct 2017, 16:01 por Tadoki

» [DoT] Mutante [20]
Lun 16 Oct 2017, 15:19 por Coldfusion

» Bebe Mutante [DoT] [20]
Lun 16 Oct 2017, 14:57 por ElAloch

» [DoT] Vampiro [10]
Lun 16 Oct 2017, 14:49 por Coldfusion

» La Medusa mas Fea [DoT]--(Gorgona) [3]
Lun 16 Oct 2017, 14:19 por Tadoki

» [DoT] El Faraon No Muerto(Momia) [16]
Lun 16 Oct 2017, 14:17 por Tadoki

» Un Mecanismo Chapucero [DoT] [1] (Libre)
Lun 16 Oct 2017, 13:55 por Tadoki

» [DoT] La verdad [24] [♫]
Lun 16 Oct 2017, 13:43 por Coldfusion

» Aracne [DoT][14]
Lun 16 Oct 2017, 12:23 por Davitroon

» [DoT] RUDY el Wendigo [17]
Lun 16 Oct 2017, 11:35 por Alegorn

» La Bruja Zoidamei [DoT 22]
Lun 16 Oct 2017, 11:05 por lPokerFace

» ¿Alguien tiene este mod?
Lun 16 Oct 2017, 02:20 por Rhinestone

» me saca o no tiene animacion
Lun 16 Oct 2017, 02:14 por Rhinestone

» Parche 1.6 rompe mi Spore
Lun 16 Oct 2017, 02:13 por Rhinestone

» Nuevo arquetipo grox.
Lun 16 Oct 2017, 01:40 por Rhinestone

» [DoT] Parca [5]
Lun 16 Oct 2017, 01:24 por Coldfusion

» "Aracne" [DoT] [14]
Dom 15 Oct 2017, 23:12 por Tuti

» Sireki [DoT] [8]
Dom 15 Oct 2017, 22:48 por Sidimey

» [DoT] Parca. [5] - Max
Dom 15 Oct 2017, 22:44 por Max

» Gabriela La Gorgona [DoT] [3]
Dom 15 Oct 2017, 22:43 por Tuti

» [DoT] Rancor (Star wars) [1]
Dom 15 Oct 2017, 20:59 por Coldfusion

» Cerberus, el guardián del otro mundo [DoT] [12]
Dom 15 Oct 2017, 20:51 por SrGaliಠth

» [DoT] Mothman [9]
Dom 15 Oct 2017, 20:28 por Coldfusion

» Demonio Bizarro [DoT] [2]
Dom 15 Oct 2017, 20:13 por Tuti

» [DoT] Lobizon [13]
Dom 15 Oct 2017, 20:08 por Coldfusion

» [DoT] Fantasmen [19]
Dom 15 Oct 2017, 19:43 por Coldfusion

» Sirena de los abismos [DoT] [8]
Dom 15 Oct 2017, 19:32 por ElAloch

» Motherman [DoT] [9]
Dom 15 Oct 2017, 19:27 por Tuti

» Cerezo [DoT 12]
Dom 15 Oct 2017, 19:06 por SrGaliಠth

» ¿Spore muerto?
Dom 15 Oct 2017, 18:46 por technoguyx

» Lobezno [DoT] [13]
Dom 15 Oct 2017, 18:44 por Tuti

» TEMA FLOOD
Dom 15 Oct 2017, 18:39 por technoguyx

» [DoT] Slivan el payaso canibal. [11]
Dom 15 Oct 2017, 17:33 por SrGaliಠth

» La Parca, el cosechador de almas. [DoT] [5]
Dom 15 Oct 2017, 17:21 por SrGaliಠth

» Struazzln [DoT] [4]
Dom 15 Oct 2017, 16:48 por Sidimey

» Cerbero [DoT] [12]
Dom 15 Oct 2017, 16:32 por Tuti

» Parca [DoT] [5]
Dom 15 Oct 2017, 16:23 por Tuti

» El experimento fallido.... [DoT] [15]
Dom 15 Oct 2017, 16:19 por Davitroon

» Aventuras: Complejidad Infinita - 100 puntos - Tamaño Extra
Dom 15 Oct 2017, 15:44 por Davitroon

» [DoT] Hada [23]
Dom 15 Oct 2017, 15:12 por Crow

» Mod de asimetria
Dom 15 Oct 2017, 14:29 por Crow

» Zombie Génesis 4 [DoT] [7]
Dom 15 Oct 2017, 13:56 por Sidimey

» Spore Resurrection: Next Steps
Dom 15 Oct 2017, 13:46 por Davitroon

» Gargona [DoT] [03]
Dom 15 Oct 2017, 13:33 por Davitroon

Temas Favoritos
Creación Aleatoria
Sondeo

¿Querés un concurso para marzo? (En abril son las Olimpiadas)

37% 37% [ 68 ]
32% 32% [ 59 ]
21% 21% [ 39 ]
10% 10% [ 19 ]

Votos Totales : 185

Hora Mundial
Octubre 2017
LunMarMiérJueVieSábDom
      1
2345678
9101112131415
16171819202122
23242526272829
3031     

Calendario Calendario


GameMaker (Clase*4 - Variables y Extra)

Página 1 de 5. 1, 2, 3, 4, 5  Siguiente

Ver el tema anterior Ver el tema siguiente Ir abajo

GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 08:20

Escuela
GameMaker

Bienvenidos a la introducción a GameMaker: Es un programa con el cuál podemos crear nuestros juegos como muchos sabrán Razz, está hecho para programadores y no programadores, es gentil con el usuario en cuanto a entendimiento pero eso sí, el programa está al 100% en inglés, GameMaker se utiliza para crear juegos 2D principalmente pero tiene un motor muy poco recomendable y dificil de usar en 3D (eso no aprenderemos acá), bien, eso es todo.

Para las clases se utilizará GameMaker 8.0 versión PRO (Es una versión no limitada), pueden enviarme un MP pidiendome el link de GameMaker aún qué los de TAW lo recibirán sin pedírmelo.

Clase 1 Interface:


1: El papelito es para crear un nuevo proyecto. Ctrl+N (Comando Rápido)
2: La carpeta con la flechita es para abrir un proyecto ya existente. Ctrl+O
3: Sirve para guardar el proyecto de una forma rápida. Ctrl+S
4: Sirve para crear un ejecutable de tu juego, lo que se hace para que el juego esté listo para jugar en cualquier pc con tan solo un doble click.
5: Éste no lo pensaba Incluir pero que va..., Sirve para publicar tu actual proyecto/juego en la página oficial de GameMaker (GM) "YoYo Games"
6: Prueba tu juego directamente desde el proyecto y ejecútalo como si lo hicieras desde el ejecutable creado del punto "4". F5
7: Ejecuta el juego en modo de prueba, es ideal para probar fallos ya que tiene opciones de reset de juego, detener el juego entre otras menos importantes. F6
8: Sprites, son imagenes 2D que se pueden crear, importar o bien agarrar uno ya existente que el mismo GM ofrece. Son una parte fundamental en GM ya que nuestros juegos no podrían funcionar sin ellos, son los "personajes" en nuestros juegos, son los árboles, las cajas, el arte 2D de nuestros objetos de juego. Shift+Ctrl+S
9: Qué serían nuestros juegos sin sus pistas de sonido, sirve para importar archivos de sonido que posteriormente podremos incluir en nuestros juegos (Sporta: mp3 & wav). Shift+Ctrl+U
10: Crear un "Background" la imagen de fondo, dónde no haya un objeto, se podrá ver el fondo (Background), puedes hacerlo desde el mismo GM con un estilo paint xDD o bien importar un background hecho en otro programa de dibujo, (Mucho cuidado con usar Photoshop para background, aveces los archivos son muy grandes o pesados y GM simplemente se niega a reconocerlo como Background, tira errores a la hora de ejecutar el juego o otros problemas por la misma causa. ) Shift+Ctrl+B
11: Scripts, GM utiliza su propio lenguaje de programación (GML) y en ésta página se pueden voltear los códigos, GML es parecido a JS (JavaScript), los códigos creados en estas páginas se puede añadir a un objeto para que cumplan su función. Shift+Ctrl+C
12: Objetos, son los materiales físicos del juego, aún que pueden ser utilizados para otros propósitos, un objeto aliado a un sprite puede transformarse en un personaje, en un árbol, un barril, etc. Se podría hacer que al apretar una tecla el sprite del objeto cambie a otro sprite dando una animación de salto o caminata por ejemplo, pero para eso deben existir los sprites animados con estas acciones. Por otro lado, se pueden utilizar los objetos para activar códigos al inicio del juego, se crea un objeto sin colisión y sin sprite y en el juego no se ve, pero si se le añade códigos o acciones a ese objeto, los mismos se ejecutarán. Shift+Ctrl+O
13: Sirve para crear un "Escenario o Cuarto" al igual que para crear un objeto físico en el juego es necesario un sprite, el Escenario depende de un Background. En el escenario se puede volcar los objetos y es como un tetris en donde armamos el terreno con los objetos creados y el background, se pueden crear mas de un escenario y contarían como "niveles", con códigos o acciones se puede lograr que entrado a un cierto lugar o cumpliendo un cierto requisito, puedas avanzar al siguiente Escenario escogido en el código. Shift+Ctrl+R
14: Aquí puedes poner la info a dar sobre tu juego. Shift+Ctrl+I
15: Por último tenemos las "Opciones Globales del juego", en esta opción podemos cambiar algunas opciones que afectaran a todo el juego como por ejemplo: Decide si la flecha del mouse va a ser o no visible en el juego, si el juego se ejecutará en Pantalla completa o en Ventana, entre otras opciones. Shift+Ctrl+G
Ufff, esto me costó un par de horas hacer Ejem... , espero que entusiasme a la gente. Si has leído toda la clase te felicito, solo tú sabes si lo hiciste Sos Groso! .

En la próxima clase hablaremos sobre los "Sprites" mas a fondo y trataremos de crear 1 con por lo menos 1 animación.


CLASE 2 Sprites:


Éste es un Sprite y tiene animación "stand" de quedarse quieto para los que no saben, por ahora me servirá para demostrar lo que quiero, yo lo apode "twenty three" no tiene nada que ver con wig se los juro, si se preguntan el por qué del fondo negro bueno... Ejem... no es fácil quitarlo.

ETAPA 1

Bien, comencemos entonces como en la anterior clase acá se irán mencionando desde el inicio las cosas.


Ni bien abramos "Create Sprite" nos aparecerá la ventana que especifiqué arriba con recuadros y números para explicar mas rápido y fácil Smile

1 Edit Sprite: Más adelante en la clase voy a mostrar las herramientas emergentes cuando seleccionamos esta casilla, pero por ahora diré que sirve para dibujar el sprite y editarlo además animarlo.
2 Show: Es para pasar o volver los cuadros de la animación y eso que dice "11" son los fotogramas de la animación, cada dibujo que hice para para animarlo. En palabras mas simples, pasa de imagen en imagen que fueron utilizadas para animar el sprite y indican cuantos dibujos hay en la animación.
3 Origin: Es el punto de gravedad de tu sprite, indica el centro y influye en por ejemplo si quieres hacer rotar a tu sprite rotaría de la siguiente manera según el punto de origen:

Los círculos representan cómo rotará tu sprite, imaginen que es una carretera el círculo y sus sprites la recorren, si no centran bien en donde quieren el punto de origen pueden tener problemas mas adelante.
4 Modify Mask: Verás la siguiente ventana si entras:

Voy a comentarles que les conviene dejar tal cuál está está ventana pero antes hay que explicar algunas cosas, la mascara de colisión es esa sombra que cubre mi sprite, ésta sombra me está indicando la colisión de mi sprite, es decir, mi sprite sí es un objeto "solido" chocará contra otros objetos según la mascara de colisión que sin tocar nada cubre exactamente todo el sprite, es decir que la mascara copia la forma del sprite para una colisión perfecta pixel por pixel.
5 Precise Collision Checking: Con ésta casilla seleccionada la mascara copiará la forma del sprite para crear la colisión precisa pixel por pixel, deseleccionada formaría un cuadrado de colisión que cubrirá todo el sprite:

6 Separate Collision Mask: Recomiendo siempre tener esta casilla marcada ya que respeta la colisión pixel por pixel en cada animación, si ésta casilla no está marcada, la mascara de colisión cubrirá cada espacio por donde el sprite va a pasar con cada fotograma. Voy a explicarlo de manera mas simple para que entiendan bien Smile, imaginemos un guerrero con un enemigo en frente, nuestro guerrero está visto de arriba y tiene una espada en la espalda, el rango gris muestra por dónde va a pasar la espada para llegar hasta el enemigo y también representa la máscara de colisión, ya que la espada va a recorrer ese camino:

Supongamos que esta animación de ataque mata al enemigo, si la casilla "Separate Collision Mask" esta desactivada, ni bien se inicie la animación de ataque el rango de todas las animaciones juntas cobrará vida, es decir, cuando empiece el primer fotograma la colisión va a ser el rango gris por lo cual ni bien comience el sprite estará tocando a su enemigo por lo que lo mataría al instante sin siquiera tocarlo con su espada, ahora con ésta casilla marcada no pasa esto, ya que la colisión es respetada cuadro por cuadro, es decir, nuestra espada realmente tendría que tocar a nuestro enemigo para que cuente como colisión, espero que se haya entendido Smile.

Los sprites son todo un tema no?, pero aún hay más, debemos aprender lo mas importante, cómo crearlos editarlos y animarlos.

ETAPA 2

Cuando entremos a "Edit Sprite" encontraremos lo siguiente (FAVOR DE AMPLIAR LA IMAGEN):


1: Crea un nuevo cuadro de animación/fotograma en blanco. Adicional: puedes apretar click "ctrl+c y ctrl+v" para copiar y pegar un fotograma ya existente. (muy recomendado)
2: Con la casilla "show preview" marcada, podrás ver la animación.
3: Determina la velocidad con la cual se ejecuta la animación para pre-visualizarla. (Ésto no afecta absolutamente en nada a la animación que va a tomar tu sprite a la hora de que esté "en juego", es totalmente independiente, en otras palabras el "speed" solo sirve para apreciar la animación en diferentes velocidad, no para cambiarla realmente.)
4: Transform sirve para hacer cosas como dar vuelta al lado contrario hacia donde miran todos los fotogramas, se puede hacer que un personaje que está mirando a la derecha mire a la izquierda y lo mejor es que el cambio va para todos los fotogramas. Con Image podemos editar aspectos como el color o agregarle sombras a cada uno de los fotogramas, también es útil.
5: Por último, el espacio donde nos muestran todas los fotogramas, imaginemos que recién empiezan en esto creen un nuevo fotograma indicado en el punto "1", elijan el Ancho para empezar y después la Altura del espacio que vamos a tener disponibles para trabajar, recomiendo que siempre el espacio sea considerablemente mas grande de lo que va a ser nuestro sprite, una vez creen les aparecerá 1 fotograma, denle doble click y les aparecerá esto:


No voy a dar muchas vueltas en éste asunto, es muy parecido a paint y remarque las herramientas que utilizo mas para hacer este tipo de cosas y a la derecha marque "opacidad" para el que no sepa, es la transparencia, cuanta menos opacidad mas débil será el lápiz o transparente como quieran llamarle lo mismo la goma. Más que nada remarco esta casilla por q varias veces me pasó que no escribía mi lápiz y después veo que la opacidad estaba a 0 xD.

Ahora si tienen 2 o más fotogramas, éstos se podrán desplazar en el mismo paint de GM xD, pasar de una imagen a otra para editarla rápidamente:

Las flechitas aparecen y podrán desplazarse entre fotogramas y editarlos rápidamente.

NOTA: Al llegar al último fotograma se vuelve al primero. (sé que pensaran que esto es para retrasados (? pero es para mi necesario enseñar bien Smile )

Recomendaciones para la creación de sprites: Primero, Crea tu sprite con el Paint de GM "SIN COLOR" yo sé que quieres pintarlo y toda la cosa pero NO!, no lo pintes, una vez tengas tu personaje hecho ve atrás hasta donde está el espacio que muestran los fotogramas y seleciona con un click tu dibujo, copia(ctrl+c) y pega(ctrl+v). (Cuidado!, sí le haces click a un fotograma y pegas, el fotograma pegado va a estar un lugar antes del fotograma que seleccionaste, es decir, si seleccionas el primer fotograma y pegas el nuevo, la copia quedará primero. Esto se soluciona de una manera simple, una vez que pegues tu fotograma adelantalo una casilla adelante con la flechita azul de arriba), ahora ve al segundo fotograma y si quieres iniciar con una animación de su brazo derecho supongamos, borra ese brazo en el fotograma 2 y re-hazlo de una manera que te guste y así mismo copias el fotograma 2 y lo pegas para continuar con el movimiento del brazo, juega mucho con las flechitas que te permiten desplazarte y editar los fotogramas, puedes volver hacia atrás y comparar ese brazo por ejemplo si se mueve bien y volver, hazle zoom con la lupa siempre que puedas, se trabaja mucho mejor de cerca. Eso son todos los consejos que puedo darles por ahora, yo me despido con otra clase terminada Camarada

En la próxima clase hablaremos sobre los "Objetos", asignaremos un sprite a un objeto y lo moveremos con las flechitas hacia la derecha y izquierda.

TAREA TAW: Cread y mostradme un Sprite con su animación (Stand) (+20 rep) // siempre es mejor 2 que uno jejeje Cread otra animación de ataque que contenga por lo menos 4 fotogramas. Genio (+25 rep)


CLASE 3 Objetos y Primer Acción:

Bien, hoy aprenderemos más acerca de los "objetos", éste espacio me refiero a "objetos", es la parte mas compleja de GM y es que en base a éstos vamos a ser posibles todo, entre lo más importante, haremos que nuestro juego funcione. Bien, otra cosa importante " todo texto que esté de color azul, significa que no es obligatorio entender o aprender, se terminará aprendiendo tarde o temprano. Sin más que decir comencemos!!

ETAPA 1


Para comenzar creemos un objeto con "shift+ctrl+o" o de las otras maneras que enseñé antes, una vez creado el objeto les aparecerá esa ventana que remarque como suelo hacer "con números" para que se haga mas cómodo todo.

1: Obviamente aquí va el nombre del objeto, pero lo que quiero dejar bastante en claro es lo siguiente: cuando crees un objeto, créalo con la insignia "obj_" seguido del nombre que quieras ponerle al objeto en mi caso "obj_TT", ésto es muy importante aún que al inicio parezca que no y ésto olvide decir antes, también se aplica a otras cosas que queramos crear como rooms (roo_) y sprites (spr_). Ésto hará algo así como guardar todos los objetos o el grupo de cosas que desees guardar en una clase de "librería", al ejecutar códigos más tarde, podes encontrar mas rapidos tus objetos, sprites o rooms, y para hacerlo, en la página donde se depositan los códigos se teclea "spr_ // obj_ o roo_" y aparece una lista de todos los sprites, objetos o rooms guardados con la insignia, no es obligatorio que sea "spr_" puede ser "taw_" si así lo prefieres, pero recomiendo usar las ya mencionadas antes.

2: Acá es donde le damos la capacidad de un sprite a un objeto, aprieten un click en donde estaría el nombre del sprite y les aparecerán todos los que hayan creado. Tambien podes editar el sprite seleccionado "edit" o crear uno nuevo "new".

3: Acá podemos manipular la visibilidad y la solidificación del objeto, si bien seleccionar solido no sirve para hacer chocar 2 objetos, sirve para separar solido de no solido y eso mas adelante con los códigos se puede utilizar muy bien como por ejemplo hacer un código para que nuestro personaje quede quieto al colisionar contra un "solido" ese código no funcionaría contra por ejemplo un objeto "humo" que sea un efecto pero no solido. Con visibilidad marcada el objeto se puede ver en el juego, sin ésta, solo estaría pero invisible.

4: Depth en palabras simples define qué objeto se creará en qué tiempo, es decir, si todos los objetos tienen Depth 0, se crearán al mismo tiempo, si un objeto tiene mayor número de depth que otro, se creará antes, también se puede utilizar números negativos (-1/-2/-3), en qué influye?, digamos que quieres crear una baldosa con un objeto visible pero no sólido y quieres que tu personaje la atraviese como si fuese un backgrownd, el número de la baldosa debe ser mayor a la de tu personaje por que de ser menor el de la baldosa, tu personaje al intentar atravesarla la atravesara pero por debajo de ésta xDDD.

5: Con ésta casilla marcada "persistent", el objeto se trasladará al siguiente room por más que este objeto persistente no esté en el siguiente room, recuerden, los rooms son algo así como piezas de los lugares, puedes saltarte de un room a otro con entrar a una puerta suponiendo algo. Pero por ahora no hablaremos más de esto ya que no lo utilizaremos en esta clase.

6: Mascara y pariente, como bien deben saber, siempre "Mask" se referirá a la mascara de colisión, recomiendo que lo dejen en "same as sprite" ya que toma la mascara original del sprite utilizado en el objeto, no creo que quieran pero si quieren pueden cambiar la mascara por la de otro sprite seleccionándolo. Pariente es algo así como "todo lo que le pasa a él me pasará a mi" puedes poner otro objeto como pariente de tu objeto y tódo lo que le pase al objeto que elegiste le pasará a tu objeto. Imagina que tienes un código que lo que hace es que cuando muera el jugador 1 y el jugador 2 la partida acabe y pierdan, si pones de pariente al jugador 2 y lo matan en el juego, tú también morirás.

7: Estos son las "herramientas", los iconos tienen funciones de código dentro y podemos arrastrarlos hasta "acción" si primero creamos un evento "add event", ahora mas adelante probaremos hacer que nuestro personaje se mueva hacia la izquierda y derecha con apretar las flechitas Very Happy y adicionalmente les enseñaré 2 códigos simples de entender c:

8: Las librerías, tienen nombres "move, main1, main2, control, etc" éstas librerías se pueden encontrar en donde tengan istalado el juego y en la carpeta "lib", fácilmente puede presionar click derecho en el icono de game maker y ir a "abrir ubicación del archivo". Dentro de esta carpeta "lib" puedes no solo encontrar las librerías oficiales con sus acciones sino que hay gente que programa y crea sus íconos "sus propias librerías" puedes descargar de internet desde diferentes páginas solo con buscar un poco. Bien, estas librerías tienen Herramientas como ya dije antes y vamos a utilizarla a continuación para crear pero antes debes saber 2 conceptos "evento y acción"

ETAPA 2

EVENTO: Evento es como el detonador de la acción, lo que hace que la acción se ejecute, como ejemplo, un evento podría ser "cuando apretes la tecla L" > (acción). El evento es el "cuando tal cosa se cumpla entonces la acción se ejecuta".

ACCIÓN: Si el evento se cumple entonces pasará todo lo que está puesto en acción, por ejemplo, (Evento: keyboard press "L") > (entonces mi personaje adquiere una velocidad horizontal de 4).

Sí entendiste lo anterior entonces ya puedes comenzar con implementar el evento y la acción

Paso 1: Primero selecciona "add event" marcada en verde en la primer imagen de la clase, te aparecerá lo siguiente:


Paso 2: Crea haz click en "Keyboard" y a continuación selecciona la tecla "left" que es la flecha izquierda del teclado.

Paso 3: Crea otro evento "Key Release" y vuelve a seleccionar "left".

Ya tenemos 2 eventos creados que aparecerán como bien ya te habrás dado cuenta, en la ventana de arriba de add event, entonces estamos así:


Paso 4: Elige la librería "Move" si es que ya no está seleccionada, hazle click izquierdo a la herramienta "Speed Horizontal" y arrástrala hasta la ventana debajo de "acciones", una vez hecho ésto, cambia la velocidad de 0 a -4, el número negativo hace que la velocidad horizontal sea hacia la izquierda que normalmente es hacia la derecha. Después verás 3 puntos arriba que te pediré que no los toques "Self, Other y Object" en otra oportunidad hablaré sobre esos 3 pero no vallan a meterle a ningún objeto que creen o sprite o lo que sea esos nombres y me refiero a "(self), (other), (object) tampoco (all)".


Con este paso lo que hacemos es que: cada vez que que apretemos o cuando quedemos presionando la tecla "flecha izquierda"(Evento) nuestro objeto gane una velocidad horizontal por -4(acción)

Si están haciendo la clase mientras la leen les voy a pedir lo siguiente: creen un room "Shift+Ctrl+R" y ahora seleccionen su objeto y coloquenlo dentro del room:


Paso 5: Elige tu objeto y colócalo en cualquier parte del room, ahora prueba tu juego en modo de prueba " "

En juego prueba apretar una vez la flecha izquierda, cuando la apretes o la quedes presionando "no importa", notarás que si sueltas la tecla el objeto se seguirá moviendo xDD, esto vamos a solucionarlo con el segundo evento que creamos "Key Release".

Paso 6: El evento Key Release se ejecuta cuando soltamos la tecla que en este caso es "left", hacemos exactamente lo mismo de arrastrar la herramienta "Speed Horizontal" sólo que la dejamos tal cual está, en "0", esto hará que la velocidad vertical sea igual a 0 cuando dejemos de presionar la tecla, lo que significa que deberíamos de quedar quietos cuando lo hagamos:


Todo lo que tienen que hacer para hacer lo mismo hacia la derecha es reemplazar valores, en el evento "Keyboard" seleccionen "Right en lugar de Left" y en su acción la velocidad vertical sería de 4. lo mismo con "Key Release" solo que lo único que tienen que cambiar es que se ejecute con "Right", el valor de la velocidad horizontal es de 0 también para la acción de éste.

Uffff, hemos terminado gente : Estudio , pero no nos despediremos sin antes enseñarles lo que les prometí, no esperen códigos super avanzados, mas adelante todos juntos vamos a adentrarnos en ese tema Smile

Creen 2 eventos uno "Create" (cuando el objeto es creado la acción se ejecuta /el numero de "Depth" explocado en el número 4, influye en este evento/) y creen otro evento "Steps" (este evento ejecuta la acción siempre, en cada milésima de segundos de juego /les va a dar 3 opciones pongan la primera "steps")

Una vez creadas esos 2 eventos, seleccionen el evento "Create", seleccionen la librería "control" y arrastren la herramienta " Execute code " les abrirá ésto y pongan el mismo código ustedes:

Código:
image_speed = 0.2;


Este código lo que hace es cambiar la velocidad de la animación del sprite, en mi caso le reduje lo necesario para que no se ejecute tan rápido ya que tengo pocos fotogramas "11" y para que se ejecute fluido de la forma estándar tendría que tener muchos mas fotogramas Razz

Ahora hagan lo mismo en steps pero pongan el siguiente código, este es un poco mas grande pero sirve muchísimo:

Código:

 varTecDerecha = keyboard_check_direct (vk_right);
 varTecIzquierda = keyboard_check_direct (vk_left);
 
  if (varTecDerecha)
    {
      image_xscale = 1;
    }
 
  if (varTecIzquierda)
    {
      image_xscale = -1;
    }


Ahora no tengo tiempo pero explicar esto técnicamente, pero lo que hace es voltear la imagen hacia la izquierda o derecha según la tecla de flechas presionada. Nota: en códigos como estos influye en dónde está el centro del sprite como lo explique una clase anterior. (prueben cambiar el sprite a otro centro para ver los problemas que causa que el centro no esté bien puesto.).


Variables, IF, Else.

TAREA TAW: Hacer que el personaje se mueva hacia todas las direcciones incluyendo arriba y abajo (+20 rep) Genio

CLASE 4 VARIABLES Y EXTRA:

Bueno gente, el motivo de esta clase iba a ser solo las variables pero de extra también añadiré otras cosas por que sino se hará muy corta la clase.

VARIABLES y IF - ELSE

Lamentablemente para ustedes xD no pueden saber variable si no saben "IF - ELSE", así que mientras explico variable voy a escribir sobre el IF - ELSE y para finalizar los extras, 2 códigos GML, explicación y en qué evento se los coloca correctamente.

-Bien sin irnos más del tema pasemos a las variables :3-

Las variables son como cápsulas que encierran información, cuando declaras una variable, después de ponerle un nombre, puedes ponerle un valor, pongamos de ejemplo "5", ejemplo:
Nombre de variable = Num
Valor de variable = 5



Creen un objeto cualquiera o usen el de la clase de los movimientos hacia los lados y creen un evento "create" y en acciones vallan a la libreria "control", arrastren la acción "Set Variable" (un cuadradito celeste con "VAR" escrito en azul), una vez la arrastren les pedirá un nombre y para que se les hagan mas simple pongan de nombre "Num" y valor "5"

Muy importante: A la hora de "nombrar" estas variables el nombre tiene la misma importancia que la contraseña de Facebook por poner un ejemplo, "Num" no es lo mismo que "num" el poner mal el nombre de una variable en una acción lleva al error de que no se encuentra la variable y te sacaría del juego.

-Listo, nuestra variable se creó :3, ésta variable es "Local" lo que significa que solo podrá ser utilizada en el objeto que fue creada. En caso de querer llamar la variable en otro objeto, ésta no se encontrará y dará error. Ahora utilicemos de una manera simple esta variable c:-

Ahora creen un evento "Key release (UP)", vallan a la librería "move" y arrastren la acción "horizontal speed" dentro de la acción key release que creamos antes y pónganle un número que quieran, yo le puse 4, es solo para probar una cosa :3, ahora creen un room o si ya lo tienen pongan a su objeto en cualquier parte del mismo.


-Si ejecutan el juego es obvio que al dejar de apretar la tecla (UP - Flechita hacia arriba), el objeto adquiere una velocidad vertical de 4 o el número que le hayan puesto y iniciará su marcha, pero ahora vamos a hacer que la acción se ejecute solamente si la variable "Num" es igual a "0" y para eso vamos a hacer lo siguiente, usaremos el IF(Sí), hagan esto, siguiendo con las acciones del key release, vallan a la librería control y arrastren "var" pero la que es media circular "esta es un "IF" que comprueba valores de variables, todas las acciones q son medias circulares es por que comprueban un valor y estas se les llama "IF"", cuando arrastren la acción les saltara la siguiente ventana:


En "Variable" tenemos que poner el nombre de la variable que queremos que esté en comprobación, en nuestro caso la variable es "Num"((recuerden respetar las mayúsculas)), ahora en valor ponemos el número que queremos que sea necesario para activar la acción, yo le voy a poner 0 y mas abajo hay 2 opciones que explicaré ahora, el "NOT", si esa casilla está marcada significa que lo que hayas puesto se voltea, es decir, normalmente si la variable Num es igual a 0 entonces se ejecuta la acción, pero NOT hace que se ejecute la acción si Num es cualquier numero menos 0 xD da vuelta las cosas, por ahora lo dejaremos sin marcar, ahora otra cosa son las 3 opciones de comparación "equal to, smaller than y larger than", La que usaremos es "Equal To (igual a)" que en el ejemplo hará que la acción se ejecute si el valor de la variable es 0. "Smaller Than(menor que)" hará que la acción se ejecute si el valor de la variable es menor a 0 y "Larger Than" la ejecutará si el numero de la variable es mayor que 0.

-Sin tantos rodeos volvamos a lo nuestro, esto quedaría así "variable = Num // value = 0 // equal to //-

Ahora para asociar acciones dentro de el "IF" vamos a usar las flechitas de la siguiente manera:

es necesario abrir el IF con la flechita hacia arriba y también es necesario cerrarlo con la flechita hacía abajo, si ésto no se hace entonces el if abarcará mas acciones que no queremos xDD, esta casi todo listo para probar cómo funciona ésto pero tenemos un inconveniente, no hay ningúna acción que altere el valor inicial de la variable "Num" lo que causaría que al soltar la tecla de felcha hacía arriba no pasaría nada, vamos a cambiar ésto c:, fuera de la acción del IF pongamos de nuevo "Set variable" con el mísmo nombre "Num" y de valor "-1" activemos la casilla "Relative" y listo, lo que hace relative es que le quite o le sume en caso de no ser un numero negativo el valor a la Variable que ya habíamos creado antes "Num", en caso de no marcar la casilla relative entonces Num tendría un valor de -1:


-Listo, está todo listo para probarlo, ¿Saben lo que pasará no?, la quinta vez que soltemos la tecla de flecha hacia arriba iniciará su recorrido vertical con la velocidad asignada y esto es posible por que si bien el IF requiere de un evento especial para ejecutar la acción, el evento anterior no lo necesita, cada vez que soltemos la tecla arriba Num bajará 1 numero, eso causará que después de apretar 5 veces la tecla hacia arriba en algún momento el valor se volverá 0 y ejecutará el código dentro del IF, si se sigue apretando la tecla seguirá bajando el valor de Num "-1,-2,-3, etc", es solo una prueba de cómo podríamos utilizar las variables, tienen muchas formas de utilizarse pero para esta clase solo esos ejemplos simples c:, hay una acción que se llama "ELSE" también aparece en la librería control, se emplea igual al if en el sentido de las flechitas, pero el ELSE va debajo de la flechita que encierra el IF y sirve para accionar algo en caso de que el IF no se cumpla, es decir, si el IF falla con la confirmación o sea, si la condición del IF no se cumple pasa a accionar la acción que encierre "ELSE". (No se preocupen si no entienden bien, siempre pueden hacerme preguntas en éste tema y yo las aclararé bien c: )

-Por ahora no vamos a hacer nada con el ELSE, la pequeña clase de variables termino pero quiero dejarles algunas cosas en claro abajo:

1* El valor de la variable no solo pueden ser números solos, una variable puede ser "true o false" EJ: Var: Num // Val: true (y en el if debería ir algo como "IF Num = true o false /entonces se ejecuta la acción/)

2* Además una variable puede ser la suma de otras 2 variables mas, creemos imaginariamente 3 variables:
Num1 = 5
Num2 = 10
Num3 = Num1+Num2

(por si tienen dudas, no, no se activa la casilla "relativo")

3* Recuerdas que dije que esa variable era local?, usa "global" un punto "." y pegado el nombre de la variable, esto declara una variable que se puede utilizar en cualquier objeto pero para llamarla desde otro lugar es necesario también añadir el "global." para eso EJ:
Var = global.glaizer
Val = true
//
IF (global.glaizer = true) (imaginen que este if es desde otro objeto,)
NOTA IMPORTANTE: Recomiendo crear un objeto no visible, no solido y sin sprite, ponerle "Depth -500000" para que se cree primero y dentro de ese objeto en un evento create en donde contenga todas las variables globales que quieran tener en su juego. (otras cosas importantes, recomiendo marcar la casilla "persistente" en el objeto y crucial, no se olviden de colocar este objeto de controles dentro del room por q sino nada de lo que esté dentro de él se va a ejecutar xDD) No quiero hacerla larga por eso solamente les digo lo que tienen q hacer y no entro mucho en detalles.

-Creo que ya está, por ahora dejaré las variables por acá y recuerden que pueden preguntar abajo cualquier duda-

Ahora los códigos, los 2, por si no se acuerdan la acción para escribir los códigos está en la librería control y "Execute code", dentro ponen lo que les digo ahora y en qué evento deben estar.

El objeto mira hacía el mouse.

Esta acción tiene que ir en el evento "steps" y el código es el siguiente:
Código:

image_angle = point_direction(x,y,mouse_x,mouse_y);



Si pones este código simple en steps lograrás que tu personaje siempre mire hacia el mouse pero ten en cuenta algo "importante", el sprite del objeto tiene que estar por defecto mirando hacia la derecha, si estuviese mirando hacia la izquierda por poner un ejemplo, entonces miraría con la espalda al mouse xDDD, también tiene que estar bien centrado en el punto medio del objeto. (mouse_x determina el punto exacto del mouse en una linea horizontal y mouse_y el vertical) EJ:

Es muy importante el "x" y "y" en game maker ya qué sabremos en dónde estaremos parados siempre c:


Disparar una bala desde la posición exacta de un objeto.
[left]
Esta acción tiene que ir en el evento "steps" y antes que nada creen su objeto de bala:
Creen un objeto con el nombre "obj_bala" y de sprite ponganle el dibujo de la bala que quieran disparar.
Código:

if (mouse_check_button_pressed(mb_left))
{
bala = instance_create(x,y,obj_bala);
bala.direction = point_direction(x,y,mouse_x,mouse_y);
bala.speed = 15;
}



El código es modificable por ejemplo "bala.speed" determina la velocidad con la cual va a salir la bala, le puse 15 pero es modificable, mas de 40 no lo recomiendo ya que sería muy rápido, tambien pueden ponerle otro nombre a su bala como "obj_bullet" pero entonces deberán cambiar el "instance_create" y dejarlo así = "bala = instance_create(x,y,obj_bullet);"

Si quieren explicaciones de por qué pasa tal cosa son libres de preguntar en este post :3


TAREA TAW: Utilizar una variable de valor "False o True" y darme cualquier ejemplo de cómo utilizarla correctamente para cualquier fin (+50 rep) Genio Genio

Ésta tarea es extra, quiero que me muestren sus personajes disparando un tipo de proyectil hacia la posición del mouse. (+15 rep) Sos Groso!

Y por ultimo, las tareas deben ser entregadas en formato "proyecto", para que yo pueda abrirlas en mi GM, no se aceptan ejecutables del juego. Genio




________________________________________

Hazañas en Clases:


@Flairdreamer se ganó (+20 de Rep) por la entrega de la primer tarea de la clase 2 // también ganó (+25 de Rep) por presentar el segundo trabajo de la misma clase.

@Flairdreamer se ganó (+20 de Rep /+5 por rango (+25)) por la entrega de la tarea de la clase 3

@MaxyTM se ganó (+20 de Rep) por la entrega de la primer tarea de la clase 2.


Última edición por Glaizer [TAW] el Jue 14 Ene 2016, 16:53, editado 10 veces

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Leda el Mar 05 Ene 2016, 10:00

Yo tengo el Game maker, pero lo he usado muy poco, prefiero por ahora el rpg maker xp que es al que estoy más acostumbrada y en el que tengo un proyecto entre manos...

De todos modos, las clases me han parecido muy instructivas y sin duda me servirán para familiarizarme más con el contenido del programa, el cual me han dicho que para hacer juegos de plataformas es muy bueno.

Gracias y un saludo...

PD: Ah! y Espero que este tema no se considere spam... XDDD

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 11:57

Sin dudas @Leda !, gracias por comentar, el clan necesita gente como vos eeeh? jaja, me interesas, cuando quieras solo pincha por > aquí < y lee lo último o todo en caso de que te interese aún mas Smile.

Saludos n_n

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Max el Mar 05 Ene 2016, 12:35


Yo se crear sprites, pero solo de Dragon Ball. xD

Pobre Leda, quedo traumatizada con lo del spam

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por SartekChaos el Mar 05 Ene 2016, 12:57

Quisiera unirme a la clase y felicitaciones Glaizer esta muy entendible aunque muy básico por el momento, pero aprendes mucho mas enseñando lo cual es excelente.

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 13:52

En el punto 10 había un mínimo error.

puedes hacerlo desde el mismo GM o con un estilo paint xD

a...

puedes hacerlo desde el mismo GM con un estilo paint xD

_______________________

SartekChaos escribió:pero aprendes mucho mas enseñando lo cual es excelente.
// Eso no entendí, yo aprendo enseñando? What?

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Xhaps el Mar 05 Ene 2016, 13:57

Suena bien, lo leo luego a ver que tal. Siempre he querido hacer un juego a lo rápido, a verqué tal.
Sin embargo, estas clase tiene sponsoreado el TAW por todos lados (?)

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glumyglu el Mar 05 Ene 2016, 14:56

Buen tutorial, esperando el siguiente Smile

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Link el Mar 05 Ene 2016, 15:01

me parece bastante bien para el proyecto que are con Blue :DDDDDDDDDDDDD espero que continues (a lo mejor me uno a los TAW solo por esto xDDDD @Glaizer [TAW])

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 15:25

MMMmmm No... , @Link recuerda que debes tener uno de los talentos, si elijes tiempo por que es lo mínimo que requiere y dentro del clan no aportas, no ayudas o no estas nunca entonces no será válido. Pero supongo que tendrás otro talento o si aprendes puedes aportar al clan.

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por SartekChaos el Mar 05 Ene 2016, 15:45


SartekChaos escribió:pero aprendes mucho mas enseñando lo cual es excelente.


// Eso no entendí, yo aprendo enseñando? What?



Sip, la explicacion cientifica abreviada a eso es la creacion de conexiones neurologicas en tu cerebro, mientras mas ensenas mas eficiciente y mas rapido podras explicar un punto, e incluso aprenderas mas cuando te lanzen preguntas (mas adelante cuando de seguro se vuelva mas complejo).

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 15:51

Bueno Ejem... supongo que sí Startek tiene sentido, si, obviamente más adelante se vuelve mas complicadito pero tampoco para excederse xD, GM en sí, tiene sus variadas cosas pero no es un Software difícil de controlar xD.

Sacaré la segunda clase ni bien pueda, me estoy tomando el trabajo de crear un sprite para la que viene.

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por SartekChaos el Mar 05 Ene 2016, 15:54

Esta hecho para ser amigable lo se :v

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Wigazo el Mar 05 Ene 2016, 15:58

Buen tutorial, a ver si hacen algo piola con lo que vayan aprendiendo. Smile

MaxyTM escribió:
Pobre Leda, quedo traumatizada con lo del spam


Pensé lo mismo. xD


Glaizer [TAW] escribió:MMMmmm No... , @Link recuerda que debes tener uno de los talentos, si elijes tiempo por que es lo mínimo que requiere y dentro del clan no aportas, no ayudas o no estas nunca entonces no será válido. Pero supongo que tendrás otro talento o si aprendes puedes aportar al clan.


¿Cagarse en todo cuenta como talento? Si es así, tiene esperanzas. UUU!

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por SartekChaos el Mar 05 Ene 2016, 16:01

MOTHER OF GOD Wig es maldad pura (?)

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Glaizer el Mar 05 Ene 2016, 16:26

@Wigazo y @MaxyTM No no dejen en paz a Leda. "a ver si aprenden" dice wig pero secretamente se leerá todas las clases (?

Volver arriba Ir abajo

Re: GameMaker (Clase*4 - Variables y Extra)

Mensaje por Contenido patrocinado

Volver arriba Ir abajo

Página 1 de 5. 1, 2, 3, 4, 5  Siguiente

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

Permisos de este foro:
No puedes responder a temas en este foro.