O problema é o seguinte, eu preciso desenhar uma imagem normalmente e por cima desta imagem eu desenha uma imagem toda preta com certa transparência, desenhando uma sprite sobre a outra no evento draw o resultado é perfeitamente como o esperado, porém quando eu desenho da mesma forma as duas imagens na surface o resultado é diferente do esperado.
Segue um print, a imgem da esquerda foi gerada através de uma surface, a imagem da direita foi desenhada na tela uma sobre a outra usando o evento draw:
Aqui os únicos códigos presentes no projeto:
@CREATE:
Código: Selecionar todos
surf = surface_create(500,400);
surface_set_target(surf);
draw_clear_alpha(c_black, 0);
draw_sprite(sprite0,0,0,0); // Sprite de fundo com a imagem
draw_set_alpha(.65);
draw_sprite(sprite1,0,0,0); //Sprite preta
draw_set_alpha(1);
surface_reset_target();
surface_save(surf,"surf1.png");
spr = sprite_create_from_surface(surf,0,0,500,400,0,0,0,0);
sprite_save(spr,0,"sprite1.png");
@DRAW:
Código: Selecionar todos
draw_sprite(spr,0,0,0); //Spr gerada através da surface
draw_sprite(sprite0,0,520,0);
draw_set_alpha(.65);
draw_sprite(sprite1,0,520,0);
draw_set_alpha(1);
EDIT: A imagem gerada pela surface esta quase transparente salvei como png e coloquei no photoshop deu pra perceber
PRINT:
Mesmo assim não identifiquei solução para o problema.