Esto esta armado para :GMS:.
obj_Oscuridad
DRAW:
///Dibuja la oscuridad
depth = 1; //ajusto la profundidad
draw_set_color(c_black)
draw_set_alpha(1) // 1 oscuro total 0.5 poco oscuro
draw_rectangle(view_xview[0]-2,view_yview[0]-
2,view_xview[0]+view_wview,view_yview[0]+view_hview,0)
draw_set_color(c_white)
draw_set_alpha(1)
//Esto es para hacer un rectángulo negro en la view.
obj_Personaje
STEP:
///Movimiento
if keyboard_check(ord('S')) and place_free(x,y+8){
y+=8
}
if keyboard_check(ord('W')) and place_free(x,y-8){
y-=8
}
if keyboard_check(ord('D')) and place_free(x+8,y){
x+=8
}
if keyboard_check(ord('A')) and place_free(x-8,y) {
x-=8
}
DRAW:
///Creacion de la linterna
//para la apariencia de la linterna
draw_set_blend_mode(bm_add)
draw_sprite_ext(spr_Luz,0,x,y,5,5,45,c_white,0.2)
draw_sprite_ext(spr_Luz,0,x,y,1,1,0,c_white,1)
draw_set_blend_mode(bm_normal)
//para que se vea el personaje.
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle
,image_blend,image_alpha)
Resultado esperado:
(https://i.gyazo.com/39e0b1b5183a69794e7e02d1c21861e5.gif)
NOTA: La vista sigue al personaje, ademas juega con ellas hasta dar con la solución :).