Hola que tal a todos !!!! mi duda es la siguiente: ¿como puedo hacer una grilla hexagonal en la que pueda mover algún personaje o controlar la posición de cada casilla? Es para un juego de mesa que quiero hacer hace tiempo y agradecería mucho su ayuda :GMS:
bueno pienso en un array de dos dimensiones y en un sprite que tenga apariencia exagonal de 32x32 y que su centro este en la ubicación central luego has que lo dibuje todo y con contadores ubica la posiciona de la grilla te puedo hacer un pequeño ejemplo si lo deseas.
Cita de: elmmertonw en Diciembre 21, 2017, 11:51:43 PM
bueno pienso en un array de dos dimensiones y en un sprite que tenga apariencia exagonal de 32x32 y que su centro este en la ubicación central luego has que lo dibuje todo y con contadores ubica la posiciona de la grilla te puedo hacer un pequeño ejemplo si lo deseas.
me sería de gran ayuda eseejemplo :'D muchas gracias !!!!!
Cita de: sebastianfragapane en Diciembre 22, 2017, 12:08:23 AM
Cita de: elmmertonw en Diciembre 21, 2017, 11:51:43 PM
bueno pienso en un array de dos dimensiones y en un sprite que tenga apariencia exagonal de 32x32 y que su centro este en la ubicación central luego has que lo dibuje todo y con contadores ubica la posiciona de la grilla te puedo hacer un pequeño ejemplo si lo deseas.
me sería de gran ayuda eseejemplo :'D muchas gracias !!!!!
Listo tengo lo que quieres mas un extra que es un tablero hexagonal y otro que es isometrico espero que lo disfrutes y recuerda analizar el código para saber que es lo que hace hasta luego -.-
ISOMETRICO(https://image.ibb.co/hcSCX6/isometric_game.png)
HEXAGONOS(https://image.ibb.co/fxVSzm/screenshot101.png)
Especificaciones Hexagonos
Un sprite llamado spr_boar de 64 x 64 origen en 32 x 32 y una subimagen de color diferente
Un objeto llamado obj_boar que tiene asignado el sprite anteriormente mencionado
Codigo HexagonosEvento Create
col=0;
fil=0;
Evento draw
var con;
for (i=0; i<=4; i+=1)
{
for (j=0; j<=4; j+=1)
{
con=(i mod 2)*32
if(col=j and fil=i){
draw_sprite_ext(sprite_index,1,x+((j*62)-con),y+((i*52)),image_xscale,image_yscale,image_angle,c_white,1);
}else
{
draw_sprite_ext(sprite_index,0,x+((j*62)-con),y+((i*52)),image_xscale,image_yscale,image_angle,c_white,1);
}
}
}
Evento step
if(fil>4)
{
fil=0;
}
if(fil<0)
{
fil=4;
}
if(col>4)
{
col=0;
}
if(col<0)
{
col=4;
}
evento key pressed left
col-=1;
evento key pressed up
fil-=1;
evento key pressed right
col+=1;
evento key pressed down
fil+=1;
Si no entiendes nada esta atento a youtube ya que subire un tutorial de como hacerlo y explicandolo.El RAR Contienes editables en gmk por lo tanto fue elaborado con :GM8: y no con :GMS: por eso te dejo el código fuente arriba http://www.mediafire.com/file/e35ne2k3d3d7e3y/Board%20games.rar (http://www.mediafire.com/file/e35ne2k3d3d7e3y/Board%20games.rar)
Cita de: elmmertonw en Diciembre 22, 2017, 03:07:31 AM
Cita de: sebastianfragapane en Diciembre 22, 2017, 12:08:23 AM
Cita de: elmmertonw en Diciembre 21, 2017, 11:51:43 PM
bueno pienso en un array de dos dimensiones y en un sprite que tenga apariencia exagonal de 32x32 y que su centro este en la ubicación central luego has que lo dibuje todo y con contadores ubica la posiciona de la grilla te puedo hacer un pequeño ejemplo si lo deseas.
me sería de gran ayuda eseejemplo :'D muchas gracias !!!!!
Listo tengo lo que quieres mas un extra que es un tablero hexagonal y otro que es isometrico espero que lo disfrutes y recuerda analizar el código para saber que es lo que hace hasta luego -.-
ISOMETRICO
(https://image.ibb.co/hcSCX6/isometric_game.png)
HEXAGONOS
(https://image.ibb.co/fxVSzm/screenshot101.png)
Especificaciones Hexagonos
Un sprite llamado spr_boar de 64 x 64 origen en 32 x 32 y una subimagen de color diferente
Un objeto llamado obj_boar que tiene asignado el sprite anteriormente mencionado
Codigo Hexagonos
Evento Create
col=0;
fil=0;
Evento draw
var con;
for (i=0; i<=4; i+=1)
{
for (j=0; j<=4; j+=1)
{
con=(i mod 2)*32
if(col=j and fil=i){
draw_sprite_ext(sprite_index,1,x+((j*62)-con),y+((i*52)),image_xscale,image_yscale,image_angle,c_white,1);
}else
{
draw_sprite_ext(sprite_index,0,x+((j*62)-con),y+((i*52)),image_xscale,image_yscale,image_angle,c_white,1);
}
}
}
Evento step
if(fil>4)
{
fil=0;
}
if(fil<0)
{
fil=4;
}
if(col>4)
{
col=0;
}
if(col<0)
{
col=4;
}
evento key pressed left
col-=1;
evento key pressed up
fil-=1;
evento key pressed right
col+=1;
evento key pressed down
fil+=1;
Si no entiendes nada esta atento a youtube ya que subire un tutorial de como hacerlo y explicandolo.
El RAR Contienes editables en gmk por lo tanto fue elaborado con :GM8: y no con :GMS: por eso te dejo el código fuente arriba
http://www.mediafire.com/file/e35ne2k3d3d7e3y/Board%20games.rar (http://www.mediafire.com/file/e35ne2k3d3d7e3y/Board%20games.rar)
MUCHAS MUCHAS MUCHAS MUCHAS GRACIAS !!!!! se entiende perfectamente!!!!