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
» Como ajustar velocidade de cada frame da animação no game maker
por Ralphed Ontem à(s) 18:28

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16


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