Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: peludo en Abril 28, 2015, 01:42:25 AM

Título: Grid Configurable
Publicado por: peludo en Abril 28, 2015, 01:42:25 AM
Hola a todos, me gustaria crear un tablero y por lo que he estado viendo todos hablan de grid pero nunca he creado uno de estos y me gustaria tener alguna nocion para ello, necesitaria que fuera configurable es decir de 8x8 o 16x16 , etc.

Alguien me puede indicar como empezar?

Muchas gracias!
Título: Re:Grid Configurable
Publicado por: Clamud en Abril 28, 2015, 06:30:42 AM
Si, con ds_grids o con arreglos 2D se pueden organizar elementos en forma parecida a un tablero. ¿Qué planeas hacer con ese tablero? hay que ver si existen mejores formas de implementarlo.
Título: Re:Grid Configurable
Publicado por: peludo en Abril 28, 2015, 12:08:00 PM
Cita de: Clamud en Abril 28, 2015, 06:30:42 AM
Si, con ds_grids o con arreglos 2D se pueden organizar elementos en forma parecida a un tablero. ¿Qué planeas hacer con ese tablero? hay que ver si existen mejores formas de implementarlo.

Pues pretende poder tener un tablero que conforme vaya aumentando la dificultad del juego se vaya haciendo mas grande, y quiero hacer algo tipo candy krush que en cada hueco del tablero exista un objeto generado al azar de entre 4 posibles tipos de objetos.

Luego ya seria ir programando que conforme habria 3 o 4 objetos del mismo tipo seguidos en posicion vertical u horizontal destruiria esos objetos, generaria nuevos, etc
Título: Re:Grid Configurable
Publicado por: peludo en Abril 29, 2015, 02:44:36 PM
He estado viendo que se puede usar ds_grid y mp_grid no se muy bien en que se diferencia cada una, alguien me podria indicar ademas como debo iniciar este proyecto, por que la verdad que no tengo mucha idea de en que objeto y en que eventos tengo que utilizar estas funciones para poder previsualizar el tablero!

Muchas gracias!
Título: Re:Grid Configurable
Publicado por: penumbra en Abril 29, 2015, 05:49:58 PM
ds_grid es una estructura bidimensional que sirve para almacenar datos y es la que deberías usar en este caso.
http://docs.yoyogames.com/source/dadiospice/002_reference/data%20structures/ds%20grids/index.html (http://docs.yoyogames.com/source/dadiospice/002_reference/data%20structures/ds%20grids/index.html)

mp_grid tambien es una rejilla/cuadrícula, pero su uso está destinado a otra cosa bien distinta, planeación de movimiento.
http://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/motion%20planning/index.html (http://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/motion%20planning/index.html)

Cita de: peludo en Abril 29, 2015, 02:44:36 PM
alguien me podria indicar ademas como debo iniciar este proyecto, por que la verdad que no tengo mucha idea de en que objeto y en que eventos tengo que utilizar estas funciones para poder previsualizar el tablero!
El tablero construído con ds_grid no se puede previsualizar ni dibujar directamente mediante una sola función. si no tienes idea de cómo dibujar el tablero, yo te diría que primero te familiarices más con el GML y los eventos de GM:S, porque lo más sencillo es dibujar una cuadrícula, pero después quedan tareas más complejas, como detectar patrones de objetos dentro de la cuadrícula.

Como dijo clamud, no es forzoso que el juego tenga que usar ds_grids. Los objetos se podrían alinear y distribuír en la pantalla usando las funciones place_snapped() / move_snap(), aunque el uso de ds_grid tiene ciertas ventajas.
Título: Re:Grid Configurable
Publicado por: 3dgeminis en Abril 29, 2015, 07:45:22 PM
Intentalo de esta forma:
Crea 4 objetos llamados pieza1 , pieza2 , pieza3 y pieza4 y asignales un sprite diferente para cada uno (el tamaño de los sprite debera ser de 64x64), ademas crea otro objeto llamado generador.
En el objeto generador en el evento CREATE copia y pega lo siguiente:

t_pieza=64 ///tamaño de la pieza

///creacion de piezas en el tablero
for(i=0 ; i<8 ; i+=1) ///controla la creacion de piezas en el eje x ///controla la creacion de piezas en el eje x
{
for(j=0 ; j<8 ; j+=1) ///controla la creacion de piezas en el eje y
    {
     instance_create(50+i*t_pieza , 50+j*t_pieza , choose(pieza1,pieza2,pieza3,pieza4)) ///se crean las piezas
    }
}

50 es donde se crea la primer pieza en el room
Crea un ROOM de 640x640 y coloca el objeto generador y corre el juego
Título: Re:Grid Configurable
Publicado por: peludo en Mayo 13, 2015, 01:55:19 AM
Muchas gracias a todos! La verdad que hace mucho que no he tenido tiempo pero mas o menos entre unos comentarios y otros he conseguido empezar a desarrollar lo que queria.

En mi caso al final he creado un grid de 9x9 y a unas dimensiones de room de 720x720 asi cada celda me sale de 80x80

Otra cuestion que me ha surgido ultimamente es que cuando genero la aplicacion para Android y la pruebo en mi terminal S4 o en mi Samsumg Galaxy Tab al ser la room de 720x720 el resto de pantalla se rellena con el color negro, hay alguna forma de evitar esto? Es decir existe alguna forma de rellenar ese color negro con alguna otra cosa...

He probado a tamaño de 720x1080 pero entonces no consigo centrar el grid en la pantalla es decir se me empiezan a crear las celdas desde la coordenada 0,0

Muchas gracias de antemano

Un saludo
Título: Re:Grid Configurable
Publicado por: peludo en Mayo 13, 2015, 02:00:07 AM
El aspecto actual del juego es este por si os interesa!