Flip ds_grid Horizontal (Mirror):
(replace new_grid and old_grid with the ds_grid's you want to change)
var size_h = ds_grid_width(old_grid)
var size_v = ds_grid_height(old_grid)
ds_grid_resize(new_grid,size_h,size_v)
for (var i = 0; i < size_h; ++i) {
for (var j = 0; j < size_v; ++j) {
new_grid[# i,j] = old_grid[# size_h-i-1, j]
}
}
Flip ds_grid Vertically:
(replace new_grid and old_grid with the ds_grid's you want to change)
var size_h = ds_grid_width(old_grid)
var size_v = ds_grid_height(old_grid)
ds_grid_resize(new_grid,size_h,size_v)
for (var i = 0; i < size_h; ++i) {
for (var j = 0; j < size_v; ++j) {
new_grid[# i,j] = old_grid[# i, size_v-j-1]
}
}
Rotate ds_grid Clockwise 90 degrees:
(replace new_grid and old_grid with the ds_grid's you want to change)
var size_h = ds_grid_height(old_grid)
var size_v = ds_grid_width(old_grid)
ds_grid_resize(new_grid,size_h,size_v)
for (var i = 0; i < size_h; ++i) {
for (var j = 0; j < size_v; ++j) {
new_grid[# i,j] = old_grid[# j, size_h-i-1]
}
}
Rotate ds_grid Counter Clockwise 90 degrees:
(replace new_grid and old_grid with the ds_grid's you want to change)
var size_h = ds_grid_height(old_grid)
var size_v = ds_grid_width(old_grid)
ds_grid_resize(new_grid,size_h,size_v)
for (var i = 0; i < size_h; ++i) {
for (var j = 0; j < size_v; ++j) {
new_grid[# i,j] = old_grid[# size_v-j-1, i]
}
}
Rotate ds_grid 180 degrees:
(replace new_grid and old_grid with the ds_grid's you want to change)
var size_h = ds_grid_width(old_grid)
var size_v = ds_grid_height(old_grid)
ds_grid_resize(new_grid,size_h,size_v)
for (var i = 0; i < size_h; ++i) {
for (var j = 0; j < size_v; ++j) {
new_grid[# i,j] = old_grid[# size_h-i-1, size_v-j-1]
}
}
Tips and Tricks for Programming in GameMaker
The GameMaker Developer Console