Entrar
Últimos assuntos
» player não consegue andarpor 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
Página 1 de 1
Como recortar as imagens do jogo (máscaras)
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:
Máscara:
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.
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
Ó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.
FLWS!
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.
FLWS!
Re: Como recortar as imagens do jogo (máscaras)
É 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!
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
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.
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.
CRP-Max- Games Ranking :
Notas recebidas : C
Data de inscrição : 28/10/2008
Reputação : 29
Número de Mensagens : 822
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
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!
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
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!
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!
Re: Como recortar as imagens do jogo (máscaras)
Para uma lupa quadrada/retangular, é possível fazer o efeito criando um backgrond a partir da tela, e então desenhá-lo assim:
Fiz o teste com um background já criado e funcionou.
Mas acho melhor fazer com views, acabará sendo mais rápido.
- 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:
Re: Como recortar as imagens do jogo (máscaras)
Muito bom ein brendan? Já testando em meus projetos...
Re: Como recortar as imagens do jogo (máscaras)
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".
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).
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
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:
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:
Re: Como recortar as imagens do jogo (máscaras)
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!
https://dl.dropboxusercontent.com/u/38428395/transparent.zip
Funciona bem com GM8, mas nada feito com o Studio.
FLWS!
Re: Como recortar as imagens do jogo (máscaras)
@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...
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Como recortar as imagens do jogo (máscaras)
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.
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:
Re: Como recortar as imagens do jogo (máscaras)
É 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!
GameMakerTutoriais- Data de inscrição : 29/01/2011
Reputação : 26
Número de Mensagens : 800
Prêmios :
x 0 x 4 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» [Como roubar imagens de um jogo?]
» [RESOLVIDO]Como recortar os sprites?
» Como recortar sprites corretamente?
» [pedido]imagens de jogo rpg
» Problema com imagens do jogo
» [RESOLVIDO]Como recortar os sprites?
» Como recortar sprites corretamente?
» [pedido]imagens de jogo rpg
» Problema com imagens do jogo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos