Conectar-se
Quem está conectado
26 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 26 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 20:23
Oi pessoal!
Quero resolver um probleminha aqui da maneira mais viável.
Eu sei como tirar parte da sprite e com ela criar um novo sprite. O que quero é que com essa sprite extraida seja feito um processo de transparencia em algumas partes das bordas.
A imagem abaixo mostra um exemplo...

Entendem?
Eu quero tirar parte da sprite com um formato e dar transparencia a borda pra poder mostrar oque há em baixo.
Quero fazer isso sem usar dll e nem extenções. Com GML.
Alguém sabe como fazer?

***Editado***
Uma ideia pra resolver isso de outra forma eu coloque na ultima postagem desse tópico...
Eu falei:
Se pelo menos alguém postar aqui, um exemplo de como fundir duas sprites. Eu posso me virar com o resto.


Última edição por Super Maker em Ter 26 Jun 2012, 20:13, editado 2 vez(es) (Razão : Resolvido)
avatar
Data de inscrição : 24/05/2012
Número de Mensagens : 164
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 20:26
deixar o fundo transparente se for vai na sprite e clika em edit sprite da doi clikes na fotinha a ser retirado o fundo e tecle ctrl + shift + e

ai clika na cor da imagem da esquerda e veja como fica na direita ai so clike em ok
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 20:52
Não amigo. Não quero fazer isso no editor de imagens.
Quero fazer usando scripts de GML.
O jogo precisa disso.
avatar
Data de inscrição : 24/05/2012
Número de Mensagens : 164
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 21:03
ai n sei
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 21:43
Se pelo menos alguém postar aqui, um exemplo de como fundir duas sprites. Eu posso me virar com o resto.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 30/06/2010
Número de Mensagens : 628
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 15

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 22:04
o jeito mais simples é fazer o ovo sem a parte, então faz a parte que é tirada e junta na parte do ovo (acho que é um ovo),mas assim teria que tirar a Grid, acho eu :-), mas, é o mais simples, se era isso que voce queria
Abraço, Mentos e coca-cola
avatar
Data de inscrição : 12/02/2011
Número de Mensagens : 95
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2
Ver perfil do usuáriohttp://ganelse.blogspot.com.br/

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 22:11
Bom eu faria da seguinte forma.... não entendi muito bem mais vamos lá

Criaria 2 sprite..o normal e o outro com a transparencia

depois criaria 2 objetos

bola

bola_transparente

um seria a bola e o outro seria a bola com a transparencia

alinharia os 2 perfeitamente usando as ccoordenada x e o y e colocaria um pra seguir o outro

step bola_transparente
x= bola.x+25 (+25 seria o ajuste pra fazer parecer 1 sprite só..ésó um exemplo)
y=bola.y+15


avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 23:04
Agradeço por estarem tentando ajudar, mas não é nada disso pessoal. Eu to querendo algo mais complexo e dinâmico.
Editor de imagens? No
GML? yes
Eu quero fazer tudo em GML.
Extrair uma parte da sprite fundir com outra de uma cor que fique por cima e tirar essa cor (tornar transparente) pra ficar como se estivesse recortada.
Data de inscrição : 06/10/2010
Número de Mensagens : 84
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 3
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Seg 25 Jun 2012, 23:57
um jeito de vc fazer isso seria criar uma surface ...
dar draw_clear_alpha(c_black,0) nela

EDIT:
vc desenha a parte da sprite dentro da surface com


draw_primitive_begin_texture(kind,texid);
draw_vertex_texture(x,y,xtex,ytex);
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Ter 26 Jun 2012, 06:50
Eu quero tirar parte de uma sprite usando draw_sprite_part, colocar uma borda por cima pra fundir e depois deixar essa borda transparente. Apagar essa borda.
Na imagem eu mostrei o processo como deve ser.
Eu só quero saber como fazer de duas sprites uma e apagar certa cor sem ter que salvar pra depois fazer sprite_add removendo o backgroud, não. Quero fazer sem usar arquivos externos, semelhante a isso.


Última edição por Super Maker em Qua 27 Jun 2012, 18:45, editado 1 vez(es)
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 121

Prêmios
   : 1
   : 0
   : 3
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Ter 26 Jun 2012, 08:59
Cara, eu não consigo ver suas imagens, então não sei se consigo te ajudar. O que eu sei que dá pra fazer está implícito nos meus tutoriais a respeito de surfaces e blend modes. Se você tem uma mask branca pra remover da imagem, fica fácil:
- cria a surface e direciona o desenho pra ela
- desenha a imagem que será recortada
- passa o blend mode pra bm_subtract
- desenha a mask branca (que eu gosto de chamar de "tesoura")
- cria uma nova sprite a partir da surface (esse é o resultado que você quer chegar)
- volta o blend mode pro normal e volta a desenhar na tela do jogo
- elimina a surface

Existe um tutorial (não é aqui, acho que é na gmlScripts.com) que te ensina a fazer uma versão tons-de-cinza de um sprite colorido. Ele usa uma função (acho que é sprite_set_alpha_from_sprite, mas não tenho certeza), que eu não sei como funciona, mas é um tipo de blending. Se você for fera, talvez consiga usar o mesmo princípio pra excluir uma única cor da imagem.
Se for isso o que você quer, dê uma procurada por lá. Eu já quebrei a cabeça com isso e não consegui. A única forma meia-boca que encontrei de eliminar uma cor foi percorrendo a imagem pixel-por-pixel e eliminando aqueles pixels cujo valor de hue estivessem dentro de um intervalo determinado, mas você pode imaginar o quanto isso é lento.
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Ter 26 Jun 2012, 09:25
Fundir dois sprites é fácil:

Código:
surf = surface_create(sprite_debaixo_width, sprite_debaixo_height)
surface_set_target(surf)
draw_clear(c_white)
draw_sprite(sprite_debaixo, 0, 0, 0)
draw_sprite(sprite_decima, 0, 0, 0)
surface_reset_target()

Obs: para desenhar isso, use draw_surface().

Se isso já te servir, tudo bem, mas se não conseguir terminar, posta aí.
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 6

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido]Extrair parte da sprite

em Ter 26 Jun 2012, 20:12
Saim e Pedro...
Por enquanto vou tentar fazer com surfaces como vocês disserão. Eu queria evitar usar surfaces por que no jogo eu preciso fazer isso várias vezes simultaneamente, mas me parece que é a única saída.
Vou analizar aqui e dou um edite.
Obrigado pessoal!

***Editado***
A ideia de vocês dois, Saim e Pedro deu certo.
Fiz uma engine pra mostrar o que eu tava querendo fazer: LINK

Obrigado aos dois!
Podem trancar o tópico.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum