Hola comunidad. Tengo un juego y cuando se preciona la tecla "+" hace un zoom in en la view (acercamiento) y cuando se preciona la tecla "-" hace un zoom out en la view (alejamiento).
El código que utilizo es el siguiente.
Evento create:
zoom_factor=1;
Evento steep
if (keyboard_check(vk_add))
{
zoom_factor-=0.01;
}
else
if (keyboard_check(vk_subtract))
{
zoom_factor+=0.01;
}
view_wview[0]=1280*(zoom_factor);
view_hview[0]=720*(zoom_factor);
EL código funciona bien, pero no hay un límite, es decir, cuando uno se acerca o se aleja es como un zoom infinito.
Y yo lo que necesito es que por ejemplo se acerque hasta cierto punto y por último limnitar para que cuando aplique el alejamiento se detenga al llegar al tamaño original de mi view ue es 1280x720.
Por último, les dejo el video de donde saqué el código, que la verdad es muy bueno.
https://www.youtube.com/watch?v=9msybv2DisA (https://www.youtube.com/watch?v=9msybv2DisA)
EDITO: Ya lo solucione gente. Para el que le interese le dejo el código:
Create event:
zoom_factor=1;
Event Step:
if (keyboard_check(vk_add)) and (zoom_factor > 0.5) //aque se limita el acercamiento. Cambiar el valor por el que quieran.
zoom_factor-=0.01;
if (keyboard_check(vk_subtract)) and (zoom_factor < 1) //Aquí de limita el alejamiento. Cambiar el valor por el que quieran.
{
zoom_factor+=0.01;
}
view_wview[0]=1280*(zoom_factor);
view_hview[0]=720*(zoom_factor);
Quedaria algo asi
if (keyboard_check(vk_add))
{
if zoom_factor>0.40 {zoom_factor-=0.01};
}
else
if (keyboard_check(vk_subtract))
{
if zoom_factor<1 {zoom_factor+=0.01};
}
Cita de: 3dgeminis en Febrero 08, 2015, 11:00:48 PM
Quedaria algo asi
if (keyboard_check(vk_add))
{
if zoom_factor>0.40 {zoom_factor-=0.01};
}
else
if (keyboard_check(vk_subtract))
{
if zoom_factor<1 {zoom_factor+=0.01};
}
Gracias pero justo ya lo había solucionado de una forma parecida.
pero me di cuenta de halgo y te pregunto. Cada vez que se cambia de room se pierde la configuración del zoom. Es decir, que no queda grabado el zoom elejido por el usuario. Entonces, ¿hay alguna manera de grabar en donde quedo puesto el zoom?
Cita de: matiascarpello en Febrero 09, 2015, 12:18:15 AM
Entonces, ¿hay alguna manera de grabar en donde quedo puesto el zoom?
Cualquier valor/variable se puede guardar en archivos ini o de texto, eso solucionaría el problema.
O crear una variable global, creo que el objeto que la contenga tambien debe ser persistente