Valeu demais, companheiro!
Eu vou pedir pro artista diminuir as sprites pela metade. Tem alguma função do GM que eu possa usar pra diminuir a sprite de fato e não só redesenhar ela menor?
Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
GM desconsiderando máscara e colidindo com sprite inteira Tópico resolvido
- Mysterious Stranger
- Artista
- Reações: 0
- Mensagens: 62
- Localização: BH
-
- Contato:
GM desconsiderando máscara e colidindo com sprite inteira
Boa tarde, pessoal.
Eu estou com um problema q surgiu aqui. Primeira vez q acontece. Não sei se mudaram algo nessas últimas builds. Eu estou fazendo um jogo de plataforma com essa formiga. Ela tem bastante espaço vazio e eu defini a máscara aí onde tá vermelho. Estou usando a função place_meeting() e era para o GM considerar a máscara para a colisão, mas ele está considerando o espaço vazio também. Aí fica parecendo que tem uma parede invisível entre o personagem e o chão ou as paredes.
Características do meu objeto:
- Estou carregando a sprite pelo comando de desenho draw_sprite_ext(), mas estou definindo a mesma também no STEP informando uma variável sprite = SPRITE_FORMIGA e setando a mask_index = sprite.
// linha de código da colisão
if( place_meeting( x + behavior.hspd, y, block ) ){
... ações
}
Onde behavior.hspd é a velocidade horizontal e block o objeto na qual a formiga colide.
Valeu qualquer luz.
Eu estou com um problema q surgiu aqui. Primeira vez q acontece. Não sei se mudaram algo nessas últimas builds. Eu estou fazendo um jogo de plataforma com essa formiga. Ela tem bastante espaço vazio e eu defini a máscara aí onde tá vermelho. Estou usando a função place_meeting() e era para o GM considerar a máscara para a colisão, mas ele está considerando o espaço vazio também. Aí fica parecendo que tem uma parede invisível entre o personagem e o chão ou as paredes.
Características do meu objeto:
- Estou carregando a sprite pelo comando de desenho draw_sprite_ext(), mas estou definindo a mesma também no STEP informando uma variável sprite = SPRITE_FORMIGA e setando a mask_index = sprite.
// linha de código da colisão
if( place_meeting( x + behavior.hspd, y, block ) ){
... ações
}
Onde behavior.hspd é a velocidade horizontal e block o objeto na qual a formiga colide.
Valeu qualquer luz.
Re: GM desconsiderando máscara e colidindo com sprite inteira Tópico resolvido
Sempre é bom fazer um debug pra saber se essa é realmente sua mascara que está sendo utilizada. Coloque isso no Draw da formiga:
Geralmente eu crio uma máscara separada, um retângulo mesmo. Pois dependendo como configurou a sprite, cada frame pode ter uma mascara de tamanho diferente.
Código: Selecionar todos
// Desenha a si mesmo
draw_self();
// Desenha caixa de colisão (Bounding Box)
draw_rectangle_color(bbox_left, bbox_top, bbox_right, bbox_bottom, c_red, c_red, c_red, c_red, 1);
// Desenha o nome da sprite que está utilizando no momento como máscara
draw_text(x, bbox_bottom + 8, sprite_get_name(mask_index));
- Mysterious Stranger
- Artista
- Reações: 0
- Mensagens: 62
- Localização: BH
-
- Contato:
Re: GM desconsiderando máscara e colidindo com sprite inteira
Ahhh já sei o q houve. Ver a máscara me ajudou! Na real a máscara está certa, mas eu defini a sprite pra escala de 50%, mas a a máscara não diminui junto.All-x escreveu: ↑Qua Jan 12, 2022 5:16 pm Sempre é bom fazer um debug pra saber se essa é realmente sua mascara que está sendo utilizada. Coloque isso no Draw da formiga:
Geralmente eu crio uma máscara separada, um retângulo mesmo. Pois dependendo como configurou a sprite, cada frame pode ter uma mascara de tamanho diferente.Código: Selecionar todos
// Desenha a si mesmo draw_self(); // Desenha caixa de colisão (Bounding Box) draw_rectangle_color(bbox_left, bbox_top, bbox_right, bbox_bottom, c_red, c_red, c_red, c_red, 1); // Desenha o nome da sprite que está utilizando no momento como máscara draw_text(x, bbox_bottom + 8, sprite_get_name(mask_index));
Valeu demais, companheiro!
Eu vou pedir pro artista diminuir as sprites pela metade. Tem alguma função do GM que eu possa usar pra diminuir a sprite de fato e não só redesenhar ela menor?
Re: GM desconsiderando máscara e colidindo com sprite inteira
image_xscale e image_yscale. Ex: reduzir 50%:Mysterious Stranger escreveu: ↑Qua Jan 12, 2022 5:37 pm Eu vou pedir pro artista diminuir as sprites pela metade. Tem alguma função do GM que eu possa usar pra diminuir a sprite de fato e não só redesenhar ela menor?
Código: Selecionar todos
image_xscale = 0.5;
image_yscale = 0.5;
- Mysterious Stranger
- Artista
- Reações: 0
- Mensagens: 62
- Localização: BH
-
- Contato:
Re: GM desconsiderando máscara e colidindo com sprite inteira
Ok. Vou usar essas funções. Valeu de novo!All-x escreveu: ↑Qua Jan 12, 2022 5:43 pmimage_xscale e image_yscale. Ex: reduzir 50%:Mysterious Stranger escreveu: ↑Qua Jan 12, 2022 5:37 pm Eu vou pedir pro artista diminuir as sprites pela metade. Tem alguma função do GM que eu possa usar pra diminuir a sprite de fato e não só redesenhar ela menor?
Código: Selecionar todos
image_xscale = 0.5; image_yscale = 0.5;
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes