Creador: Yo (Robin28)
Descripcion: Hace que la pantalla se vea borrosa y que los movimientos dejen una especie de rastro (motion blur)
Version de GM:  :GM8: PRO o cualquiera que tenga surfaces
Notas:

  • Son 3 scripts que se ponen en los eventos create, step y draw (respectivamente) del objeto con menor depth (usar un objeto especifico para controlar el blur)
  • Puedes controlar que tan borroso se ve con el efecto cambiando la variable global blur_alpha (entre 0 y 1) o con el cuarto script
  • FUNCIONA CON VIEWS!!!
  • la variable global blur_activated controla si se usara el efecto o no
  • Desactiva el color de fondo en la room...
  • Consume menos recursos de lo que yo creia (me va perfecto a 60 fps)

init_blur(alpha) (alpha va de 0 a 1, recomendado entre 0,05 y 0,25)
[gml]globalvar blur_alpha,blur_activated,blur_surface;
blur_alpha=argument0;
blur_activated=1;
if view_enabled[0] blur_surface=surface_create(view_wview[0],view_hview[0]);
else blur_surface=surface_create(room_width,room_height);[/gml]

blur_step() (creo que es demasiado corto como para un script ??? )
[gml]if blur_activated surface_set_target(blur_surface);[/gml]

blur_draw() (debe ir al final del evento draw del objeto con menor depth)
[gml]if !blur_activated exit
surface_reset_target();
draw_surface_ext(blur_surface,-1,-1,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,1,0,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,-1,1,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,0,-1,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,1,1,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,-1,0,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,1,-1,1,1,0,c_white,blur_alpha);
draw_surface_ext(blur_surface,0,1,1,1,0,c_white,blur_alpha);[/gml]

blur_set(activado,alpha) (se puede hacer con las variables que mencione en notas)
[gml]blur_activated=argument0;
if argument1>0 blur_alpha=min(argument1,1);[/gml]

controles del ejemplo:
flechas para mover la pelota
teclas mas y menos para ajustar el alpha
tecla B para (des)activar el blur

PD: no es necesario dar creditos si se usa

conozco otra t?cnica en donde dibujas antes la pantalla sobre una segunda surface y la redibujas activando el texture_set_interpolation(linear); todo con un repeat

Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/

Es un buen script, pero la verdad hay muchos como este, hace poco necesitaba uno, pero ya no :P

Cita de: Ciberman en Enero 18, 2011, 11:33:31 PM
conozco otra t?cnica en donde dibujas antes la pantalla sobre una segunda surface y la redibujas activando el texture_set_interpolation(linear); todo con un repeat


?pero no se supone que el texture_set_interpolation() no era lo mismo que activar 'interpolate colors between pixels' en la config. global?  ???
?no entiendo como aplicarlo 'todo con un repeat', podrias subir un ejemplo? quiza podria usarlo para optimizar mi tecnica

adjunto, lo encontr? en la gmc
osea, re dibujas la pantalla tantas veces, y en cada vez se le aplica un texture set interpolation
Cita de: CGM 2008CGM: Un poco mas serios, mejores Juegos.
Bienvenid@ a CGM. Recomenzamos desde cero, con un reglamento mas estricto, mejor definido y con mas ganas que nunca de hacer juegos con calidad comercial. El que avisa no es traidor: Leete las reglas si no quieres llevarte un capon makero.
Mercilessly!!
Plug-In para animaciones: http://ciberman.net/tweenline/