GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Como recortar as imagens do jogo (máscaras)

5 participantes

Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Seg 05 Ago 2013, 11:53



Máscara de sprites


Download link: http://the640kbworld.webng.com/game_maker_sprite_masks.zip

Vou passar uma dica de como criar uma forma diferente nos sprites (é como se estivéssemos usando máscaras). Já passei essa dica em posts, mas como o pessoal não manda um feedback se deu certo ou não, tenho a impressão de que nem entenderam.

Acho esse jeito melhor do que usar surfaces e é mais fácil, também. Tudo consiste em criar uma imagem preto-e-branco para servir como referência de alpha e usar a função sprite_set_alpha_from_sprite. O que estiver preto, ficará invisível e o que estiver branco, visível.

Você pode usar um sprite colorido como máscara, mas o Game Maker vai usar a luminosidade de qualquer forma. Essa função permite gradação de luminosidade, como deixei em um dos exemplos.

Sprite original:
Como recortar as imagens do jogo (máscaras) Efeito10

Máscara:
Como recortar as imagens do jogo (máscaras) Todas10

Você poderia criar uma gama imensa de efeitos no seu jogo com isso, além de ser um recurso inteligente que ajuda a reduzir o tamanho do executável, pois em vez de criar outro sprite animado, só vai ser necessário criar outra máscara estática. Pra deixar mais legal ainda, você poderia até fazer uma animação via código, mexendo na escala ou na rotação do sprite.

Fiz um jogo de quebra-cabeças assim uma vez. Usei essa função pra recortar as peças e um blend pra criar um relevo. É legal porque você pode deixar o jogador personalizar a imagem, como uma foto de família, por exemplo.

Como recortar as imagens do jogo (máscaras) Prev210
Como recortar as imagens do jogo (máscaras) Prev110
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por All-x Seg 05 Ago 2013, 15:53

Ótimo exemplo Brendan velho de guerra. Creio que será de muita utilidade para todos.

Fica a dica pra deixar mais comentários sobre os códigos para sabermos o que está sendo executado (Mesmo sendo exemplos que tu fez há um bom tempo atrás).

Obrigado por compartilhar. Happy

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Seg 05 Ago 2013, 18:28


É um dos meus maus hábitos que ainda não consegui largar... Agradeço pelo toque! Vou deixar os próximos códigos com mais comentários... Qualquer dúvida, também vou ficar feliz em ajudar respondendo no tópico.

Grande abraço kra!
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por CRP-Max Seg 05 Ago 2013, 18:42

Muito interessante!!!
Com essa ideia eu poderia por exemplo, fazer uma lupa no jogo?
Ou talvez criar uma nova View com o formato que eu quisesse?
Se for possível vou finalmente colocar minha ideia em pratica. cheers
CRP-Max
CRP-Max

Games Ranking : Nota C

Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Seg 05 Ago 2013, 19:27



Com essa ideia eu poderia por exemplo, fazer uma lupa no jogo?

Cara, estou na dúvida. Acho que até daria, mas acabaria dando mais trabalho do que usar surfaces.

Essa função faria o recorte arredondado (lupa) no sprite, mas o inconveniente é que ela altera o alpha definitivamente. Então, precisaríamos fazer o recorte em uma cópia para não modificarmos a original (como eu fiz no exemplo).

Pra dar a ideia de uma lupa, teríamos que fazer a imagem ampliada (a cópia com máscara) se movimentar por cima da original, então acho que seria outro problema...

Nesse caso, o ideal seria usar surfaces, mesmo. Vou postar um exemplo comentado...

Ou talvez criar uma nova View com o formato que eu quisesse?

Nesse caso, também surfaces. A "view" principal do jogo, também é uma surface. A gente só precisaria mudar o "alvo" dos desenhos e recortar usando uma máscara ou alpha.

Uma vez eu vi uma dll para o Game Maker 5 (acho) que colocava a janela transparente. Mas por diachos eu não me lembro o nome! Eu acho que, usando essa dll com surfaces, daria para, literalmente, deixar a janela do jogo com qualquer formato (até nessas máscaras de exemplo que eu usei aí em cima).

Essa dll "pega" o conteúdo por detrás da janela do jogo e o põe como se fosse um background. Foi ÓTIMO ter comentado sobre isso, porque eu vou ver se encontro essa dll outra vez.

Se eu conseguir, vou postar, também. Grande abraço!
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por All-x Seg 05 Ago 2013, 21:00

Como disse o Brendan, existe uma DLL que faz sua janela ter o formato que quiser. Se não me engano ela é pro GM7, vou ver se funciona bem no 8 ou Studio. Os links dela na GMC estão off.

Eu tenho ela em algum disco de Backup meu. Não estou no meu PC agora, mas quando chegar em casa mando ela pra você por MP. Blz?

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por PedroX Seg 05 Ago 2013, 22:37

Para uma lupa quadrada/retangular, é possível fazer o efeito criando um backgrond a partir da tela, e então desenhá-lo assim:

Código:
draw_background_part_ext(background0, mouse_x-100, mouse_y-100, 200, 200, mouse_x-100*2, mouse_y-100*2, 2, 2, image_blend, image_alpha)

Fiz o teste com um background já criado e funcionou.

Mas acho melhor fazer com views, acabará sendo mais rápido.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por Anderson3d Ter 06 Ago 2013, 12:52

Muito bom ein brendan? Já testando em meus projetos...
Anderson3d
Anderson3d

Games Ranking : Nota A

Notas recebidas : A - A
Data de inscrição : 15/02/2009
Reputação : 9
Número de Mensagens : 1479
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 1

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

http://www.indiegamebr.com

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Ter 06 Ago 2013, 20:44


Alex, se você ainda tiver esse backup, poderia upar pra gente? Eu achava que era do 5, mas se é de um GM mais recente, melhor ainda! Cacei essa dll feito um doido e não achei. De antemão, já te agradeço por se dispor a ajudar!

@Pedro

Esse jeito é prático! Dá pra fazer uns efeitos bem loucos com essas funções "ext" e "part". Cool 

Fiquei martelando o Game Maker pra tentar um jeito de usar a textura da surface principal. Se isso fosse possível, nem seria necessário usar surfaces. Daria pra fazer uma forma primitiva com essa textura, não precisaríamos alterar os destinos dos desenhos "normais" das instâncias e, de quebra, ainda daria pra fazer um efeito "côncavo" na primitiva (pra dar a impressão de lente)!

Foi o que eu tentei, mas ainda não consegui. Não consigo enxergar uma forma de desenhar TUDO o que há no jogo, dentro da lupa, sem alterar o destino de desenho das instâncias ou forçar um screen_redraw dentro de outra surface (o que vai melar num evento draw rodando 2x).
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por PedroX Ter 06 Ago 2013, 20:57

sprite_create_from_screen(...) / background_create_from_screen(...) não servem?

Outras alternativas seriam: screen_save('nome') e sprite_add('nome', ...) / background_add('nome', ...).

Sei que você é muito experiente no GM, mas é bom lembrar:

Código:
if (mouse_x - mouse_x_anterior + mouse_y - mouse_y_anterior <> 0)
{
// executar só quando o mouse se mover
}

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por All-x Ter 06 Ago 2013, 23:23

Está aqui o link Brendan (Na verdade é GM6):

https://dl.dropboxusercontent.com/u/38428395/transparent.zip

Funciona bem com GM8, mas nada feito com o Studio.

FLWS!
All-x
All-x

Games Ranking : Nota A

Notas recebidas : B A
Data de inscrição : 20/12/2008
Reputação : 189
Número de Mensagens : 2571
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 25 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker 8.0 ou 8.1
  • Game Maker Studio 1.4
  • Game Maker Studio 2.0
  • Javascript
  • C ou C++


https://redscreensoft.com

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Ter 13 Ago 2013, 21:53




@Alex

Cara, MUITO obrigado por trazer pra gente isso! Já vou até aproveitar pra fazer mais um backup dela, também. Valeu!!

@Pedro

Eu pensei na possibilidade de tentar criar algo que fosse dinâmico, sem a necessidade de usar um sprite ou background. Até onde eu sei, tem jeito, mas *acho* que não dá pra postar isso num único script porque a alteração tem que ser feita no projeto inteiro e, principalmente, em todos os eventos Draw.

Uma view poderia servir como lente e acho que estou complicando à toa. Mas, SE desse pra fazer do jeito que eu queria, o efeito da lente ia ficar bem mais legal...
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por PedroX Ter 13 Ago 2013, 22:09

Eis a solução:

Deixe apenas o objeto que precisar visível. O resto fica com visible=0.
Isso evitará rodar o Draw naquele Step.
Depois volte ao normal.

_________________


Leia o Manual do Iniciante e a Lista de Tutoriais, para aprender bastante sobre o GM.
Recomendo o Manual completo das colisões, bem útil.
O exemplo Criar um chat (banir, kickar, etc) é interessante.

Para seu jogo ficar rápido e legal, aprenda a Aumentar o desempenho do seu jogo.

Aprenda a calcular a velocidade de suas animações


Entre para o Clube do Inglês:
PedroX
PedroX

Games Ranking : Nota B

Notas recebidas : C+B
Data de inscrição : 26/07/2008
Reputação : 311
Número de Mensagens : 6087
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 17 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

https://web.whatsapp.com/send?phone=5519995935953&text=Pedro

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por GameMakerTutoriais Ter 13 Ago 2013, 22:24



É uma boa ideia! Eu vou tentar isso... Não sabia que o visible podia inibir a instância de executar o código no Draw. Conseguindo ou não, aprendi mais uma! Cool
avatar
GameMakerTutoriais

Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios : Como recortar as imagens do jogo (máscaras) Empty

Medalhas x 0 Tutoriais x 4 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

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

Ir para o topo Ir para baixo

Como recortar as imagens do jogo (máscaras) Empty Re: Como recortar as imagens do jogo (máscaras)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos