[Solucionado] DS GRID - Almacenar más de un valor en una celda

Publicado por BssString, Octubre 13, 2018, 04:50:31 AM

Tema anterior - Siguiente tema

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

BssString

Estimados

Mi duda está enfocada en la eficiencia, porque la verdad es que es algo que sí pude hacer...
Quiero almacenar varios valores (un número entre 0 a 4000) en una celda de una DS Grid (quizás 3 o 4 valores en la misma celda).
Ej: que la celda x,y contenga estos 3 valores al mismo tiempo: 300 1 3850

He probado algunas cosas, pero no me convencen mis métodos y quiero saber si alguien lo ha hecho alguna vez de forma eficiente.

Hasta ahora probé 3 cosas:

1- Crear 3 DS Grid diferentes, es el peor método porque es el menos eficiente y en el que más lento se trae la info.

2- Almacenar carácteres binarios, el problema es que sólo acepta un rango de 0 a 255 y quiero almacenar valores de 0 a 4000. Almacenando 2 binarios juntos (y después hacer un cálculo) me causaba errores y bugs raros, sobre todo cuando intentaba leer el cero.

3- Guardar los números como texto, separados por un delimitador. Hasta el momento es el mejor método que he encontrado, es el más eficiente y el que hace más rápido la lectura/escritura de la info para el juego.
El problema es que el código se ve horrible y muchas veces me confundo cuando quiero leer / escribir data en la grid.

Alguna idea?

Parzival

La verdad no utilizo GM desde hace muchísimos años pero lo que se suele hacer en ese caso en lenguajes de programación como C++ o Java, sería almacenar un array.

Cada elemento de la grilla no es un valor, sino un array.

Teoricamente sería algo como:

Citarvar vec[];
vec[0] = 300;
vec[1] = 1;
vec[2] = 3850;


ds_grid(grilla, 0, 0, vec);

Desconozco si esto es posible, pero podrías intentarlo.


BssString

Estimados

Probé asignando arrays y me ha funcionado, al menos mientras lo testeaba.
Asigné el mismo array vacío a todas las celdas de la grid y luego podía editar cada array de forma individual.

Más adelante voy a implementarlo en el juego real para ver si afecta o no al rendimiento del juego.

Si falla el rendimiento, lo haré con strings y listo...

Gracias por sus respuestas  ;)

Saludos

Powered by EzPortal
SMF spam blocked by CleanTalk