Grilles DS

Un ds_grid est essentiellement un type de tableau à deux dimensions. Vous définissez la grille en définissant sa largeur et sa hauteur, qui définissent ensuite le nombre total de "cellules" dans la grille (la largeur et la hauteur multipliées) et ces cellules sont ensuite utilisées pour contenir différentes valeurs de données (nombres réels ou chaînes).

Ce type de structure vous permet de définir et de récupérer la valeur des cellules dans la grille en donnant l'indice x et y de celle-ci (qui commence par 0 pour les axes x et y et monte jusqu'à la largeur - 1 et la hauteur -1). Mais vous pouvez également définir la valeur dans des régions de grille spécifiques, ajouter des valeurs uniques et extraire la somme, le maximum, le minimum et la valeur moyenne sur une région donnée, faisant de cette structure de données la plus polyvalente possible.

Lors de l'accès aux structures de données de la grille DS, vous devez toujours essayer d'utiliser des valeurs entières pour la position de la cellule, et tous les index non entiers seront GameMaker Studio 2 par GameMaker Studio 2 si vous ne le faites pas. Si ce n'est pas ce dont vous avez besoin, alors vous devrez faire l'arrondi vous-même avant de passer l'index que vous souhaitez vérifier.

REMARQUE: Comme pour toutes les ressources dynamiques, les structures de données occupent de la mémoire et doivent donc toujours être détruites lorsqu'elles ne sont plus nécessaires pour éviter les fuites de mémoire qui ralentiront et finiront par planter votre partie.

> Les fonctions suivantes concernent les grilles DS.

  1. ds_grid_create
  2. ds_grid_destroy
  3. ds_grid_width
  4. ds_grid_height
  5. ds_grid_resize
  6. ds_grid_clear
  7. ds_grid_set
  8. ds_grid_set_disk
  9. ds_grid_set_grid_region
  10. ds_grid_set_region
  11. ds_grid_shuffle
  12. ds_grid_sort
  13. ds_grid_get
  14. ds_grid_get_max
  15. ds_grid_get_mean
  16. ds_grid_get_min
  17. ds_grid_get_sum
  18. ds_grid_get_disk_max
  19. ds_grid_get_disk_mean
  20. ds_grid_get_disk_min
  21. ds_grid_get_disk_sum
  22. ds_grid_add
  23. ds_grid_add_region
  24. ds_grid_add_disk
  25. ds_grid_add_grid_region
  26. ds_grid_multiply
  27. ds_grid_multiply_disk
  28. ds_grid_multiply_region
  29. ds_grid_multiply_grid_region
  30. ds_grid_value_exists
  31. ds_grid_value_disk_exists
  32. ds_grid_value_x
  33. ds_grid_value_y
  34. ds_grid_value_disk_x
  35. ds_grid_value_disk_y
  36. ds_grid_copy
  37. ds_grid_read
  38. ds_grid_write

En dehors de ces fonctions spécifiques, vous pouvez tous utiliser une expression (appelée accesseur ) pour ajouter ou modifier le contenu de votre ds_grid. Cet accesseur ressemble à un tableau 2D avec la syntaxe suivante:

grid_index[# xpos, ypos]

Vous pouvez trouver plus d'informations, ainsi que des exemples, à partir de la page Vue d'ensemble du GML sur les accesseurs.

NOTE: si vous avez besoin de vérifier si une structure de données existe, vous pouvez utiliser ds_exists() fonction.


© Copyright YoYo Games Ltd. 2017 Tous droits réservés
.