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
» 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
» 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
Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
+3
MatheusReis
saim
GustavoLC
7 participantes
Página 1 de 1
Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Pessoal , procurei no fórum e não achei nenhum tópico que correspondesse à minha necessidade.
Há alguma forma de eu mudar as cores de uma sprite dentro do jogo? Além disso, há como mudar uma determinada cor em específico?
Pergunto isso pq estou fazendo um fan-game do megaman x e, para quem já jogou, sabe que quando ele troca de arma, as cores de sua armadura tb mudam e gostaria de fazer esse efeito. No entanto, fazer um pacote de sprites de todos os movimentos, englobando um conjunto de cores, seria, acredito eu, impraticável.
Alguém sabe se isso é possível?
Há alguma forma de eu mudar as cores de uma sprite dentro do jogo? Além disso, há como mudar uma determinada cor em específico?
Pergunto isso pq estou fazendo um fan-game do megaman x e, para quem já jogou, sabe que quando ele troca de arma, as cores de sua armadura tb mudam e gostaria de fazer esse efeito. No entanto, fazer um pacote de sprites de todos os movimentos, englobando um conjunto de cores, seria, acredito eu, impraticável.
Alguém sabe se isso é possível?
GustavoLC- Data de inscrição : 20/11/2011
Reputação : 1
Número de Mensagens : 39
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
É nada.GustavoLC escreveu:No entanto, fazer um pacote de sprites de todos os movimentos, englobando um conjunto de cores, seria, acredito eu, impraticável.
Conhece a função draw_sprite_color? Nem vou perder tempo explicando pra que ela serve.
"Peraí, só partes da armadura dele devem mudam de cor, não dá pra pintar o megaman TODO".
Verdade. Mas quem disse que você vai usar um sprite só pra cada imagem?
Conheço duas formas de fazer isso. Ambas requerem que você separe cada imagem do megaman em duas sprites - a parte que está sempre da mesma cor e a parte colorida.
A primeira, mais fácil de entender e talvez menos eficiente, é usar dois draw_sprite, sendo que o segundo é draw_sprite_color. Quando as imagens se sobreporem, o jogador nem vai saber que tem duas meias-imagens ali.
A segunda é criar uma surface e, a partir dessa surface, criar um pacote de imagens DURANTE o jogo (pode ser durante o carregamento do jogo). Você desenha a sprite sem cores, desenha a colorida, exporta como sprite, limpa a surface. Desenha a srpite sem cores, desenha a colorida (com outra cor), exporta de novo. Repita até passar por todas as cores e você terá todas as sprites em todas as cores. Se você manjar de arrays, fica fácil chamar a sprite certa na hora certa.
Outra vantagem desses métodos é que não precisa mudar só as cores, você pode usar sprites diferentes pra dar um visual diferenciado (um cotovelo mais pontudo, um capacete com chifres, etc.).
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Valei, Saim, mas acho que esses recursos citados por vc só funcionam na versão Pro, não é mesmo? Estou usando a versão Lite, por enquanto. De qualquer form
a, obrigado pela resposta.
a, obrigado pela resposta.
GustavoLC- Data de inscrição : 20/11/2011
Reputação : 1
Número de Mensagens : 39
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
É, infelizmente, essas funções só funcionam na versão pro (e eu me confundi, não existe draw_sprite_color, a função seria draw_sprite_ext, sendo que um dos argumentos é a cor).
Acho que, nesse caso, não resta muita alternativa senão ter todos os sprites. Nem pintar o megaman inteiro funciona na lite.
Mas o editor de imagens do game maker tem uma ferramenta de substituição de tons que pode ser útil. Você escolhe um tom (azul, por exemplo) e todo o azul da imagem será substituído por outro tom de sua escolha (como vermelho). Isso pode ser usado pra criar rapidamente sprites parecidas, mas de outras cores.
Acho que, nesse caso, não resta muita alternativa senão ter todos os sprites. Nem pintar o megaman inteiro funciona na lite.
Mas o editor de imagens do game maker tem uma ferramenta de substituição de tons que pode ser útil. Você escolhe um tom (azul, por exemplo) e todo o azul da imagem será substituído por outro tom de sua escolha (como vermelho). Isso pode ser usado pra criar rapidamente sprites parecidas, mas de outras cores.
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Movido de 'Formação de Equipes' para 'Perguntas & Respostas'. Mais atenção ao postar.
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Obrigado, Saim. O editor de imagens do Game aker realmente é bem eficiente, mas administrar novas sprites não seria interessante por conta do alto número. Ainda não comprei a versão PRO até dominar mais a versão Lite, mas isso acontecerá em breve.
Matheus Reis, desculpe pelo post, na verdade, nem sei como ele foi parar em "Formação de Equipes", rsrs. Um Abraço.
Matheus Reis, desculpe pelo post, na verdade, nem sei como ele foi parar em "Formação de Equipes", rsrs. Um Abraço.
GustavoLC- Data de inscrição : 20/11/2011
Reputação : 1
Número de Mensagens : 39
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
será q dá pra mudar a hue da sprite durante o jogo? sei q o color_get_hue(color) informa uma determinada cor, mas nao sei como alterar ela. se for possivel isso tbm pode ser possivel mudar as cores.
Mannoroth- Games Ranking :
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Acho que o Pedrø andou lendo esse tópico. Olha a engine que ele postou.
(ainda não baixei a engine, então não sei se dá pra rodar em lite)
(ainda não baixei a engine, então não sei se dá pra rodar em lite)
saim- Games Ranking :
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios :
x 1 x 6 x 0
x 1 x 0 x 3
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
engine do pedro>> a imagem tem que estar em bmp, nos teste q eu fiz com megamanx a qualidade cai muuito ao converter pra bmp. E a imagem convertida nao abre, sempre da erro. Eu nunca terminei meu projeto de megamanx tbm, conseguir poderia ser util pra mim tbm. Tentei alterar a engine pra abrir outros formatos, e nao consegui tbm. Se alguem conseguir usar essa engine corretamente avisae.
Mannoroth- Games Ranking :
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Eai, hoje eu postei um exemplo de como mudar alguma cor de uma imagem externa. Mas é claro que você pode exportar sua sprite e depois trocar a cor.
https://gmbr.forumeiros.com/t20925-engine-mudar-certa-cor-de-uma-imagem
Você poderia usar sprite_save().
Não tem como abrir a imagem convertida, a menos que você exporte o sprite.
Não entendo o motivo da qualidade cair, já que bmp é um dos formatos que guarda muita informação.
Não sei se será possivel abrir outros formatos, principalmente os com compressão.
Até mais!
https://gmbr.forumeiros.com/t20925-engine-mudar-certa-cor-de-uma-imagem
Você poderia usar sprite_save().
Não tem como abrir a imagem convertida, a menos que você exporte o sprite.
Não entendo o motivo da qualidade cair, já que bmp é um dos formatos que guarda muita informação.
Não sei se será possivel abrir outros formatos, principalmente os com compressão.
Até mais!
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: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
GustavoLC escreveu:Há alguma forma de eu mudar as cores de uma sprite dentro do jogo? Além disso, há como mudar uma determinada cor em específico?
Pergunto isso pq estou fazendo um fan-game do megaman x e, para quem já jogou, sabe que quando ele troca de arma, as cores de sua armadura tb mudam e gostaria de fazer esse efeito. No entanto, fazer um pacote de sprites de todos os movimentos, englobando um conjunto de cores, seria, acredito eu, impraticável.
O Kabeção fez uma dll excelente pra fazer isso, ela muda as cores do sprite em tempo de execução do jogo, dá uma olhada:
Tópico: https://gmbr.forumeiros.com/t19142-dll-gmtint
Outro esquema muito bom é alternar entre palentas de cores de GIF, o que é muito simples no Photoshop. Não dá trabalho quase nenhum porque você só vai abrir a paleta pra editar as cores e salvar com a extensão ACT. Eu fiz um exemplo:
Aqui: http://bit.ly/mxXNEE
Falou!
Última edição por Ninja8086 em Qua 15 Fev 2012, 09:57, editado 1 vez(es)
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: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
Amigo isso é bem simples de fazer. Veja como:
1) Crie o sprite base do Megaman X sem a armadura.
2) Crie um outro sprite e desenhe as partes da armadura que você que que mude de cor da cor branca.
No Evento Create:
Explicação:
Desenhando a sprite da armadura na cor branca todos os Bits da cor estarão setados com 1's assim a cor sera exatamente a cor especificada no parâmetro.
Obs. O comando draw_sprite_ext() existe na versão lite. Usei a versão 8.1 do GM.
Flws!
1) Crie o sprite base do Megaman X sem a armadura.
2) Crie um outro sprite e desenhe as partes da armadura que você que que mude de cor da cor branca.
No Evento Create:
- Código:
cor_da_armadura = c_red; //qualquer cor aqui
- Código:
draw_self(); //desenha o sprite principal sem a armadura
draw_sprite_ext(x, y, sprArmadura, 0, image_xscale, image_yscale, image_angle, cor_da_armadura, image_alpha);
Explicação:
Desenhando a sprite da armadura na cor branca todos os Bits da cor estarão setados com 1's assim a cor sera exatamente a cor especificada no parâmetro.
Obs. O comando draw_sprite_ext() existe na versão lite. Usei a versão 8.1 do GM.
Flws!
Re: Dúvida: Mudando uma determinada cor da sprite dentro do jogo!
é, o que o vinians falou deu certo testei aqui . Eu tbm to acompanhando isso pq me interessa, ainda vou precisar. No gm8.0 é assim:
só que o draw_self nao existe no 8.0, acho q equivale a isso:
Lembrando que sera necessario umas 3 draw_sprite_ext, cada uma cuidando de uma sprite q sera parte da armadura, afinal qd o megaman muda de armadura, são pelo menos 3 mudanças de cor (a armadura nao é homogeneamente de uma cor só). E tem q botar os sprites em branco parado, pulando, caindo, correndo, dando dash, atirando, levando pancada1, levando pancada2 e outros dependendo de como vai ser o jogo e q habilidades vai ter o megaman. Bom, no megaman sao tantas tonalidades de cores, q nao sei se aquelas 19 q tem nas funçoes do game maker (c_aqua, c_black,c_blue, etc) vão bastar pro jogo.
- Código:
draw_sprite_ext(sprArmadura, 0, x,y,image_xscale, image_yscale, image_angle, c_green, 1)
só que o draw_self nao existe no 8.0, acho q equivale a isso:
- Código:
draw_sprite(sprite_index,image_index,x,y)
Lembrando que sera necessario umas 3 draw_sprite_ext, cada uma cuidando de uma sprite q sera parte da armadura, afinal qd o megaman muda de armadura, são pelo menos 3 mudanças de cor (a armadura nao é homogeneamente de uma cor só). E tem q botar os sprites em branco parado, pulando, caindo, correndo, dando dash, atirando, levando pancada1, levando pancada2 e outros dependendo de como vai ser o jogo e q habilidades vai ter o megaman. Bom, no megaman sao tantas tonalidades de cores, q nao sei se aquelas 19 q tem nas funçoes do game maker (c_aqua, c_black,c_blue, etc) vão bastar pro jogo.
Mannoroth- Games Ranking :
Notas recebidas : D+D
Data de inscrição : 05/10/2010
Reputação : 12
Número de Mensagens : 841
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» duvida pulo duplo mudando de sprite
» DUVIDA: Como executar determinada ação quando sprite estiver na 15ª subimage??
» Mudando sprite com path
» Mudando Sprite (gravidade)
» Mudando a sprite do inimigo
» DUVIDA: Como executar determinada ação quando sprite estiver na 15ª subimage??
» Mudando sprite com path
» Mudando Sprite (gravidade)
» Mudando a sprite do inimigo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos