Noticias

¡Ayuda a la Comunidad GM, haz una donación!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: Duda sobre DS_Map (Solucionado)  (Leído 249 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado GM Sigma

  • Visitante
  • *
  • Puntos: 4
  • Mensajes: 2
    • Ver Perfil
en: Julio 05, 2020, 05:20:13 pm
Hace poco empecé a incursionarme en Game Maker,  y acabo de terminar de leer la documentación. Una de las cosas que no pude comprender muy bien fue la Estructura de Datos Map (DS_Map).

¿Para qué sirve este tipo de dato? ¿Pudieran darme de algún ejemplo de uso en algún juego que hayan hecho o conozcan que lo haya usado? Saludos.
« última modificación: Julio 23, 2020, 08:22:37 pm por GM Sigma »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado T789

Respuesta #1 en: Julio 05, 2020, 05:35:04 pm
Yo hace menos de 3 semanas que acabo de empezar a usar Estructuras de Datos y lo que mas me llamo la atencion fueron los Ds_maps

Si conoces los ficheros .ini, supongo ya te podrias hacer una idea mas clara, los mapas son como los inis, primero creas el mapa usando
mapa = ds_map_create()
Luego le das un valor en la llave que quieras guardarlo, que puede ser numerica o de cadena, sugiero empieces usando llaves de cadena para adaptarte
ds_map_add(mapa, "monedas", 100)
El valor en una seccion del mapa puede ser tanto una string como un valor real, incluso puedes usar una variable y almacenar ese valor en las distintas secciones de un mapa, un ejemplo seria
ds_map_add(mapa, "puntos", score);
Usar la misma variable de score funciona, puede que no lo captes al principio pero con un mapa puedes almacenar distintos valores en una misma variable(mapa) usando las llaves como los espacios en los que quieres almacenar los valores

Existen muchas funciones utiles para manejar y trabajar con los mapas, algunas de ellas pueden ser realmente utiles, por ejemplo
/// Funciones para el manejo de los mapas
ds_map_replace(mapa, "puntos", score/2) // Esta Remplaza el valor de una seccion, pues con la otra funcion solo añades y puede que no quieras sumarle en concreto
ds_map_find_value(mapa, "pociones") // Esta funcion te ayuda para saber el valor de una seccion(llave) en el mapa
ds_map_delete(mapa, "valores") // Esta funcion es para borrar la llave y su valor del mapa, por si quieres liberar algo de espacio
ds_map_clear(mapa) // Esta en vez de borrar una seccion, solo vacia el mapa entero sin borrarlo
ds_map_destroy(mapa) // Esta si borra el mapa completo, por si no quieres que el mapa perdure al destruir el objeto

Una mejor explicacion te la puede dar esta pagina:
https://www.aprendegamemaker.com/mapas/
« última modificación: Julio 05, 2020, 06:05:53 pm por T789 »

 
Los siguientes usuarios dieron las gracias a este tema: GM Sigma


Desconectado GM Sigma

  • Visitante
  • *
  • Puntos: 4
  • Mensajes: 2
    • Ver Perfil
Respuesta #2 en: Julio 05, 2020, 06:04:25 pm
Yo hace menos de 3 semanas que acabo de empezar a usar Estructuras de Datos y lo que mas me llamo la atencion fueron los Ds_maps

Si conoces los ficheros .ini, supongo ya te podrias hacer una idea mas clara, los mapas son como los inis, primero creas el mapa usando
mapa = ds_map_create()
Luego le das un valor en la llave que quieras guardarlo, que puede ser numerica o de cadena, sugiero empieces usando llaves de cadena para adaptarte
ds_map_add(mapa, "monedas", 100)
El valor en una seccion del mapa puede ser tanto una string como un valor real, incluso puedes usar una variable y almacenar ese valor en las distintas secciones de un mapa, un ejemplo seria
ds_map_add(mapa, "puntos", score);
Usar la misma variable de score funciona, puede que no lo captes al principio pero con un mapa puedes almacenar distintos valores en una misma variable(mapa) usando las llaves como los espacios en los que quieres almacenar los valores

Existen muchas funciones utiles para manejar y trabajar con los mapas, algunas de ellas pueden ser realmente utiles, por ejemplo
/// Funciones para el manejo de los mapas
ds_map_find_value(mapa, "pociones") // Esta funcion te ayuda para saber el valor de una seccion(llave) en el mapa
ds_map_delete(mapa, "valores") // Esta funcion es para borrar la llave y su valor del mapa, por si quieres liberar algo de espacio
ds_map_clear(map) // Esta en vez de borrar una seccion, solo vacia el mapa entero sin borrarlo

Una mejor explicacion te la puede dar esta pagina:
https://www.aprendegamemaker.com/mapas/

Acabo de revisar la web y noto que hay mucha información de intereés. Ya comprendo un poco mejor el uso de esta estructura de datos. Por suerte la documentación es bastante buena. Muchas gracias.