## **網格**
ds_grid基本上是一種二維數組。通過設置其整數寬度和高度來定義,以此來設置網格中“單元格”的總數(寬度和高度相乘),然后使用這些單元格來保存不同的數據(實數或字符串)。
這種類型的結構允許您通過給出它的x和y索引來設置和檢索網格中的單元格值(從x和y軸開始為0,最大數值為寬度減1和高度減1)。同時,您還可以對特定的網格區域設置一個值值或者加上一個值,并在還可以對給定區域檢索總和、最大值、最小值和平均值,這些特性使得該數據結構成為所有可用的數據結構中最為通用的。
當訪問網格數據結構時,您應該始終嘗試對單元格位置使用整數,否則所有非整數索引都會被GameMaker Studio 2覆蓋。如果這不是您的需求,那么在傳遞您希望檢查的索引之前,您需要先對自己進行舍入。
**注意:** 與所有動態資源一樣,數據結構占用內存,因此在不再需要的情況下防止內存泄漏這些數據結構應該被銷毀,因為內存泄漏將會減慢并最終導致您的游戲崩潰。
* * * * *
下面是處理網格的函數:
* [ds_grid_create](ds_grid_create.md)
* [ds_grid_destroy](ds_grid_destroy.md)
* [ds_grid_width](ds_grid_width.md)
* [ds_grid_height](ds_grid_height.md)
* [ds_grid_resize](ds_grid_resize.md)
* [ds_grid_clear](ds_grid_clear.md)
* [ds_grid_set](ds_grid_set.md)
* [ds_grid_set_disk](ds_grid_set_disk.md)
* [ds_grid_set_grid_region](ds_grid_set_grid_region.md)
* [ds_grid_set_region](ds_grid_set_region.md)
* [ds_grid_shuffle](ds_grid_shuffle.md)
* [ds_grid_sort](ds_grid_sort.md)
* [ds_grid_get](ds_grid_get.md)
* [ds_grid_get_max](ds_grid_get_max.md)
* [ds_grid_get_mean](ds_grid_get_mean.md)
* [ds_grid_get_min](ds_grid_get_min.md)
* [ds_grid_get_sum](ds_grid_get_sum.md)
* [ds_grid_get_disk_max](ds_grid_get_disk_max.md)
* [ds_grid_get_disk_mean](ds_grid_get_disk_mean.md)
* [ds_grid_get_disk_min](ds_grid_get_disk_min.md)
* [ds_grid_get_disk_sum](ds_grid_get_disk_sum.md)
* [ds_grid_add](ds_grid_add.md)
* [ds_grid_add_region](ds_grid_add_region.md)
* [ds_grid_add_disk](ds_grid_add_disk.md)
* [ds_grid_add_grid_region](ds_grid_add_grid_region.md)
* [ds_grid_multiply](ds_grid_multiply.md)
* [ds_grid_multiply_disk](ds_grid_multiply_disk.md)
* [ds_grid_multiply_region](ds_grid_multiply_region.md)
* [ds_grid_multiply_grid_region](ds_grid_multiply_grid_region.md)
* [ds_grid_value_exists](ds_grid_value_exists.md)
* [ds_grid_value_disk_exists](ds_grid_value_disk_exists.md)
* [ds_grid_value_x](ds_grid_value_x.md)
* [ds_grid_value_y](ds_grid_value_y.md)
* [ds_grid_value_disk_x](ds_grid_value_disk_x.md)
* [ds_grid_value_disk_y](ds_grid_value_disk_y.md)
* [ds_grid_copy](ds_grid_copy.md)
* [ds_grid_read](ds_grid_read.md)
* [ds_grid_write](ds_grid_write.md)
除了這些特定的函數,你可以使用一個表達式(稱為訪問器)來添加或修改你的ds_grid的內容。此訪問器語法看起來類似于二維數組:
~~~
grid_index[# xpos, ypos]
~~~
- 簡言
- 額外接口
- asset_get_index
- asset_get_type
- 粒子(PARTICLE)
- 簡單粒子系統
- effect_create_below
- effect_create_above
- effect_clear
- ef_all
- 粒子系統
- 粒子系統的創建
- part_system_exists
- part_system_create
- part_system_create_layer
- part_system_get_layer
- part_system_layer
- part_system_clear
- part_system_depth
- part_system_position
- part_system_destroy
- part_particles_clear
- part_particles_count
- 系統繪圖
- part_system_automatic_update
- part_system_automatic_draw
- part_system_update
- part_system_drawit
- part_system_draw_order
- 直接創建粒子
- part_particles_create
- part_particles_create_colour
- 粒子類型
- part_type_exists
- part_type_create
- part_type_destroy
- part_type_clear
- part_type_shape
- part_type_sprite
- part_type_size
- part_type_scale
- part_type_speed
- part_type_direction
- part_type_gravity
- part_type_orientation
- part_type_colour_mix
- part_type_colour_rgb
- part_type_colour_hsv
- part_type_colour1
- part_type_colour2
- part_type_colour3
- part_type_alpha1
- part_type_alpha2
- part_type_alpha3
- part_type_blend
- part_type_life
- part_type_step
- part_type_death
- 粒子發射器
- part_emitter_exists
- part_emitter_create
- part_emitter_clear
- part_emitter_region
- part_emitter_burst
- part_emitter_stream
- part_emitter_destroy
- part_emitter_destroy_all
- 數組(array)
- 數據結構(Data structures)
- 心得分享
- ds_exists
- ds_set_precision
- 網格(grid)
- ds_grid_create
- ds_grid_destroy
- ds_grid_width
- ds_grid_height
- ds_grid_resize
- ds_grid_clear
- ds_grid_set
- ds_grid_set_disk
- ds_grid_set_grid_region
- ds_grid_set_region
- ds_grid_shuffle
- ds_grid_sort
- ds_grid_get
- ds_grid_get_max
- ds_grid_get_mean
- ds_grid_get_min
- ds_grid_get_sum
- ds_grid_get_disk_max
- ds_grid_get_disk_mean
- ds_grid_get_disk_min
- ds_grid_get_disk_sum
- ds_grid_add
- ds_grid_add_region
- ds_grid_add_disk
- ds_grid_add_grid_region
- ds_grid_multiply
- ds_grid_multiply_disk
- ds_grid_multiply_region
- ds_grid_multiply_grid_region
- ds_grid_value_exists
- ds_grid_value_disk_exists
- ds_grid_value_x
- ds_grid_value_y
- ds_grid_value_disk_x
- ds_grid_value_disk_y
- ds_grid_copy
- ds_grid_read
- ds_grid_write
- 列表(list)
- 映射(map)
- 隊列(Queues)
- 優先隊列(Priority Queues)
- 堆棧(stack)