Mayo 07, 2011, 05:43:35 AM Ultima modificación: Mayo 07, 2011, 06:39:13 AM por Tyranus
Bueno hace mucho que no toco GM, y lo estoy usando para un experimento.

Imaginen la siguiente situaci?n:
Tengo una variable global llamada zoom, que determina el tama?o de la view 0 de la siguiente manera.

[gml]view_wview[0] = 640*global.zoom;
view_hview[0] = 480*global.zoom;[/gml]

El tema es que si yo dibujo una GUI, se supone que deber?a verse siempre del mismo tama?o independiente del zoom. Se puede hacer esto sin tener que escalar la GUI? Osea, yo quiero renderizar la GUI, y ponerla sobre el render que hace GameMaker para evitar escalados que deformen las fonts, y otros gr?ficos y detalles de la GUI.

Se puede hacer esto?

La soluci?n que se me ocurre ahora es crear una surface, y renderizar la GUI ahi, y escalarla. O bien, escalar cada elemento de la GUI a mano.

PD:
Olvidenlo, deb? probarlo mejor antes. Casi no hay defecto al escalar la superficie y la gui no se deforma en lo m?s minimo. Recomiendo hacerlo de este modo si alguien tiene que hacer una GUI con una view con zoom.

Me respond? solo :P, por lo menos queda ac? la respuesta por si alguien le surge la inquietud.

Saludos.

Todos los elementos de la GUI deben ser dibujados con un xscale y yscale iguales a esto:
[gml]var vx vy;
vx=1/zoom;
vy=vx;
//aqui son iguales por eso hay vy=vx, asi que puedes usar una sola variable ^^:
var sc;
sc=1/zoom;
[/gml]