Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: kostra en Noviembre 19, 2015, 10:33:39 AM

Título: [Solucionado xD] dibujar outline sprite, sin el sprite?
Publicado por: kostra en Noviembre 19, 2015, 10:33:39 AM
Muy buenas, a ver si alguien sabe... trato de dibujar en el evento draw, un outline del mismo sprite, pero sin usar el mismo sprite debajo más agrandado, que es lo que he encontrado buscando outline :S

Necesito que se dibuje SOLO el outline, ya que lo que trato es que el outline tenga un alpha de 1 y el sprite que estará encima un alpha de 0.4 y claro... si uso la clásica técnica, pues se ve todo alpha 1... me explico? :B
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: Clamud en Noviembre 19, 2015, 04:19:26 PM
Se me ocurre este método
[gml]
surface_set_target( sf );
   
    //sprite a escala
    draw_clear_alpha( 0,0 );
    draw_sprite_ext( sp0,0, 256,256, 1.1,1.1, 0,c_white,1 );
   
    //dibujar solo en la parte opaca
    draw_set_blend_mode_ext( bm_dest_alpha, bm_zero );
    draw_rectangle_color( 0,0, 512,512, c_lime,c_green,c_teal,c_aqua, false );
    draw_set_blend_mode( bm_normal );
   
    //borrar la parte interna
    draw_set_blend_mode_ext( bm_zero, bm_inv_src_alpha );
    draw_sprite( sp0,0, 256,256 );
    draw_set_blend_mode( bm_normal );
   
surface_reset_target();
[/gml]
Primero se dibuja el sprite a escala. Después se dibuja una textura o color para el borde, pero sólo sobre la parte opaca del sprite dibujado previamente. Por último se usa el sprite con tamaño normal para hacer transparente la parte interna de la superficie.
Revisa el archivo de ejemplo.
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: kostra en Noviembre 19, 2015, 08:50:01 PM
no he usado surfaces en mi vida xD he tratado de amoldarlo, pero me da error... cómo se usa?, donde, qué se edita qué no se toca?   oinnk :B
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: Clamud en Noviembre 19, 2015, 08:57:25 PM
Importa el archivo .gm81 para que veas cómo funciona.
Lo más complicado en ese código es el uso de los "blend modes", se podrían hacer variaciones del código con el mismo resultado.
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: kostra en Noviembre 20, 2015, 05:09:33 PM
no me había dado cuenta... pero de igual manera no me entero de nada, cuando se dibuja en surface las posiciones son muy raras, no entiendo nada T_T

PD: y yo me pregunto... si solo voy a poner outline a 4 diminutas instancias... no es mejor para la ram, que coloque dos sprites distintos con el draw din surfaces?... pregunto :/
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: Clamud en Noviembre 20, 2015, 09:07:13 PM
Si, sería mejor dibujar dos sprites en lugar de una superficie y un sprite.
Título: Re:dibujar outline sprite, sin el sprite?
Publicado por: kostra en Noviembre 21, 2015, 06:35:25 AM
pues gracias, finito :B