Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: pixelar cualcquier imagen/Mosaico como la compu del pokemon esmeralda :3  (Leído 121 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado KayasamiX

  • Habitual
  • *
  • Puntos: 63
  • Mensajes: 18
  • Sexo: Masculino
  • Nada es divertido si saves lo que pasa despues.
    • Ver Perfil
hola a todos a qui les traigo un scripts para pixelar imágenes usando surfaces.

solo se necesita un objeto donde en el evento de create agregamos esto:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

MXW= 64;             // maxima calidad/pixeles de la imagen
Spr=sprite15;       // aqui insertamos el sprite que queremos pixelar sprite15 en mi caso
MW= MXW;          // calidad gv
Surf_Mosaico= surface_create(MW, MW);        // creamos una surface para poder pixelar la imaen
texture_set_interpolation(0);                               // desactivamos la interpolacion de colores porque si no se vera borroso -_-

y en el evento de draw colocamos esto:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if( MW=0 )begin MW=1; end;                     // esto evitara dividir por 0
if( MW>=MXW )begin MW=MXW; end;    // este es el limite de calidad/pixeles de la imgen

surface_resize(Surf_Mosaico ,MW, MW); // esco cambiara continuamente el tamaño de la surface con la variabes MW

/*
aqui pintamos el sprite en el lienzo pero, utilizando el codigo 'draw_sprite_stretched' para que se destruyan los pixeles haciendo que se vea pixelado dependiendo de la variable MW que es la calidad de imagen ( el valor se puede editar con los controles de edicion sencilla que le instale mas abajo para ver como se pixelea en tiempo real )
*/
surface_set_target(Surf_Mosaico);                    // editamos la surface 'Surf_Mosaico'
draw_clear_alpha(c_black, 0);                            // limpiamos la surface.
draw_sprite_stretched(Spr, 0, 0, 0, MW, MW);   // dibujamos el sprite en la surface
surface_reset_target();                                         // terminamos el proceso de dibujar el nuevo sprite

// proyectar resultados
draw_surface_stretched(Surf_Mosaico, x+128*2+5, y, 128*2, 128*2);    // esto muestra la imagen original
draw_sprite_stretched(Spr, 0, x, y, 128*2, 128*2);                                        // esto muestra el resultado

// aqui hay controles para ver el pixelado de la imagen
if( keyboard_check(vk_up)   && !keyboard_check(vk_control) )begin MW++ end;
if( keyboard_check(vk_down) && !keyboard_check(vk_control) )begin MW--; end;
if( keyboard_check_pressed(vk_up)   && keyboard_check(vk_control) )begin MW++ end;
if( keyboard_check_pressed(vk_down) && keyboard_check(vk_control) )begin MW--; end;

listo:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
en el pantallaso adjuntado se puede ver la imagen original de alta calidad de pixeles y al lado derecho, se ve el resultado de la version pixelada.
espero les guste :3

 


No Tienes Permisos Para Dar Puntos
point 22 Puntos

Usuarios que puntuaron el tema » Clamud (10 Pts) » 3dgeminis (12 Pts)