Bueno, segundo script que resubiré al foro.
Autor: NiuWeb.
Versión de GM utilizada: Studio 1.4.
Descripción: Scripts que permiten convertir un arreglo unidimensional a uno bidimensional con el número de columnas dado, o convertir un arreglo bidimensional a uno unidimensional.
Código
[gml]
///array_1d_to_2d(array, width);
var array  = argument0;
var width  = argument1;
var length = array_length_1d(array);

var array2d;
var xn, yn;
for(var i = 0; i < length; i++)
{
    yn = floor(i/width);
    xn = i - yn*width;
    array2d[yn, xn] = array;
}
return array2d;
[/gml]
Argumentos:



array: El arreglo unidimensional original a convertir.
width: El número de columnas que tendrá el nuevo arreglo.

[gml]
///array_2d_to_1d(array2d);
var array2d = argument0;
var height  = array_height_2d(array2d);
var array1d, a = 0;

for(var i = 0; i < height; i++)
{
    for(var j = 0; j < array_length_2d(array2d, i); j++)
    {
        array1d[a++] = array2d[i, j];
    }
}
return array1d;
[/gml]
Argumentos:


array: El arreglo bidimensional original a convertir.

Como siempre; dudas, inquietudes, quejas, reclamos, insultos o amenazas son bienvenidos, y si encuentran algún fallo en los códigos por favor hacérmelo saber.
alaberga regué el café.

BA:STFW&RTFM

Si el arreglo unidimensional no tiene la cantidad de elementos exacta para crear un arreglo bidimensional completo, es decir, que la ultima fila no quede completa, ¿Como haría para recorrerlos con doble ciclo for y que al final no muera pq no hay mas elementos?

Ej: Supongamos que entra un array de 32 elementos y lo quiero como una matriz de 6*6.
Cita de: Fenris78Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: CalioSomos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.

Cita de: Johann en Noviembre 26, 2018, 09:55:00 PM
Si el arreglo unidimensional no tiene la cantidad de elementos exacta para crear un arreglo bidimensional completo, es decir, que la ultima fila no quede completa, ¿Como haría para recorrerlos con doble ciclo for y que al final no muera pq no hay mas elementos?

Ej: Supongamos que entra un array de 32 elementos y lo quiero como una matriz de 6*6.
Si quieres convertir un arreglo unidimensional a uno bidimensional usarías el primer script, y realmente no tendrías ningún problema en el caso que mencionas, puesto que el ciclo solo recorre los elementos del 1d y les asigna coordenadas 2d, así que si quedan faltando espacios simplemente se omiten, quedan "vacíos".
alaberga regué el café.

BA:STFW&RTFM