Conectar-se
Quem está conectado
25 usuários online :: 2 usuários cadastrados, Nenhum Invisível e 23 Visitantes

gart30, Willy

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Como transformar em sprite ?

em Dom 19 Jan 2014, 14:48
Seguinte pessoal , eu não tenho ideia de como vou fazer isso e também não encontrei nada relacionado. Eu tenho aqui o meu "editor" de imagens no GM. Cada "pixel" que vocês veem desse cachorro é um obj_pixel , que é um quadrado com uma variável de cor que é desenhada em cima dele no draw. Aquele + ali na imagem é onde deve ser o center da sprite.

Alguém sabe como transformar isso em uma sprite dentro do jogo ? Ou tem alguma ideia de como eu poderia fazer isso.
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Dom 19 Jan 2014, 14:49
GMS ou GM8?
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Dom 19 Jan 2014, 14:54
Opa, esqueci de dizer. Gm 8.
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: Como transformar em sprite ?

em Dom 19 Jan 2014, 17:33
obj_to_spr(objeto pixel,filename,largura padra de cada objeto,altura padrao de cada objeto, escala de redimensao horizontal,escala de redimensao vertical);

Código:

//obj_to_spr(objeto index,arquivo,largura padrao,altura padrao,escala de redimensao HORIZONTAL,escala de redimensao VERTICAL)
var xmin,ymin,largura,altura,pix,i,surf,xs,ys,w,h,redimensionar,dw,dh,XS,YS;
w=argument2;
h=argument3;
largura=0;
altura=0;
xmin=999999;
ymin=999999;
//obter informações basicas
for(i=0;i<instance_number(argument0);i+=1;)
{pix=instance_find(argument0,i)
    if(sprite_exists(pix.sprite_index))
    {
    dw=pix.bbox_right-pix.bbox_left;
    dh=pix.bbox_bottom-pix.bbox_top;
    largura=max(largura,pix.bbox_right);
    altura=max(altura,pix.bbox_bottom)
    xmin=min(xmin,pix.bbox_left);
    ymin=min(ymin,pix.bbox_top);
    }else
    {
    dw=w;dh=h;
    largura=max(largura,pix.x+w)
    altura=max(altura,pix.y+h)
    xmin=min(xmin,pix.x);
    ymin=min(ymin,pix.y)
    }
}
//criar surface
surf=surface_create(largura-xmin,altura-ymin);
surface_set_target(surf);
for(i=0;i<instance_number(argument0);i+=1;)
{pix=instance_find(argument0,i)
xs=pix.x;ys=pix.y;
pix.x-=xmin;
pix.y-=ymin
//redesenhar
with pix event_perform(ev_draw,0)
pix.x=xs;pix.y=ys
}
surface_reset_target();
//salvar surface original
surface_save(surf,argument1);
//===CRIAR COPIA REDIMENSIONADA
XS=max(argument4,1);YS=max(argument5,1);
redimensiona=surface_create((largura-xmin)/dw*XS,(altura-ymin)/dh*YS);
surface_set_target(redimensiona);
draw_surface_stretched(surf,0,0,(largura-xmin)/dw*XS,(altura-ymin)/dh*YS)
surface_reset_target();
//salvar copia redimensionada
surface_save(redimensiona,filename_path(argument1)+"redimensionado_"+filename_name(argument1));
//limpando a memoria usada...
surface_free(redimensiona);
surface_free(surf);

exemplo de uso
obj_to_spr(objeto_pixel,"c:\imagen.png",32,32,1,1);
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Dom 19 Jan 2014, 20:23
Bom, eu, faria diferente, mas talvez a solução do Jiraya seja a mais ideal.

Como é GM8, usaria sprite_create_from_screen() e redimensionaria. O problema seria trabalhar com o filtro alpha.
avatar
Ranking : Nota A
Notas recebidas : A+A
Data de inscrição : 20/03/2010
Número de Mensagens : 1134
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

Prêmios
   : 1
   : 0
   : 1
Ver perfil do usuáriohttps://www.facebook.com/seito.washiro.7

Re: Como transformar em sprite ?

em Dom 19 Jan 2014, 21:22
gabreel, tbm pensei nisso, mas ai veio um problema, se o desenho fosse maior q a tela, como faria?

diminuir o zoom seria uma opcao, mas perderia qualidade original do q ele fez.

e com surface da p trabalhar com o filtro alfa.
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Seg 20 Jan 2014, 04:26
Seguinte , tentei usar o seu script Jiraya, por algum motivo não deu muito certo. A principio ele acusou esse nessa parte
Código:
    }else <br>    {
Como não vi esse "br" em mais lugar nenhum , presumi que não fosse nada e deletei esse
. Na verdade eu executei e função e nada ocorreu, vou deixar o link da engine aqui qualquer coisa.
Código:
http://www.mediafire.com/download/dm9zyv76crcgmfy/Engine.zip

--Ideia--

Gabreel, vamos supor que eu usa-se isso, existe alguma função que faz um especie de "chroma key" ? Por exemplo, no momento em for capturar a imagem, transformo o fundo inteiro num rosa, ai quando o desenho virar sprite eu retiro o fundo rosa e deixo o transparente de fundo.
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Seg 20 Jan 2014, 12:58
pinpi escreveu:
--Ideia--

Gabreel, vamos supor que eu usa-se isso, existe alguma função que faz um especie de "chroma key" ? Por exemplo, no momento em for capturar a imagem, transformo o fundo inteiro num rosa, ai quando o desenho virar sprite eu retiro o fundo rosa e deixo o transparente de fundo.

Dando uma olhada no help do GM8, achei a função: sprite_set_alpha_from_sprite(), mas que não tem nada a ver com o que queremos. Não sei se você chegou a usar o GM7 e anteriores, mas antigamente o alpha do GM se dava pela cor do pixel mais inferior à esquerda. Logo, se em uma sprite de 32x32, a cor alpha seria a cor contida na posição Y=32 e X=1. Vi aqui e o sprite_create_from_screen() tem como remover o background com a mesma ideia.

Caso aconteça de como o Jiraya falou, do desenho ser grande, pensei que tu pudesse usar views, não sei de explicar direitinho D:
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Ter 21 Jan 2014, 15:14
Ta , algo esta dando errado. Por algum motivo quando eu deixo o background transparente , e ativo o fundo rosa para capturar a tela, o obj_pixel nao estão sendo gravado. Ele fica como alpha na sprite , entao se eu habilitar o removeback nada aparece , se eu desabilitar aparece um retângulo rosa com um buraco no meio , que corresponde ao desenho.

Em fim, vou deixar novamente a engine ai;
Código:
http://www.mediafire.com/download/tj936k9hrcafj9c/engine.zip

Se alguem souber o que está rolando

OBS: O código que captura a tela ta no obj_done
avatar
Data de inscrição : 02/10/2009
Número de Mensagens : 2227
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Ter 21 Jan 2014, 16:22

Não vi nada de anormal, pinpi. '-'
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0

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

Re: Como transformar em sprite ?

em Ter 21 Jan 2014, 17:25
Poxa velho... como tu saiu da chatbox e nao sei se vai voltar a entrar fica aberto ai pessoal, aparentemente funcionou com o Biel exatamente a msm engine e comigo não ta indo.

Realmente não sei o que vou fazer, se alguem puder baixar pra dizer se também está bugado por favor avisem.
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