Verán, quiero poner zonas oscuras en las que el jugador tiene un campo de visión.
Para eso, tengo este script:
function oscuro(oscuridad,distancia){
draw_set_alpha(oscuridad)
var ancho=Jugador.x-camera_get_view_x(view_camera[0])
var alto=Jugador.y-camera_get_view_y(view_camera[0])
for(var a=0; a<512; a++)
for(var b=0; b<512; b++)
if(point_distance(ancho,alto,a,b)>128)
draw_point(a,b)
draw_set_alpha(1)
}
512es el ancho y el alto de la view. Aún no termino de dominar las variables de camara de GMS2, aparte de que supongo que así es más eficiente.
Gracias a eso logro un efecto como el mostrado en la captura de pantalla.
Pero hay un problema: ¡Que el juego se pone horriblemente lento si lo hago así!
¿Hay una forma de repetir este efecto que no ralentice el ordenador?
Para eso, tengo este script:
function oscuro(oscuridad,distancia){
draw_set_alpha(oscuridad)
var ancho=Jugador.x-camera_get_view_x(view_camera[0])
var alto=Jugador.y-camera_get_view_y(view_camera[0])
for(var a=0; a<512; a++)
for(var b=0; b<512; b++)
if(point_distance(ancho,alto,a,b)>128)
draw_point(a,b)
draw_set_alpha(1)
}
512es el ancho y el alto de la view. Aún no termino de dominar las variables de camara de GMS2, aparte de que supongo que así es más eficiente.
Gracias a eso logro un efecto como el mostrado en la captura de pantalla.
Pero hay un problema: ¡Que el juego se pone horriblemente lento si lo hago así!
¿Hay una forma de repetir este efecto que no ralentice el ordenador?