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. |
Animar o último coração Tópico resolvido
Animar o último coração
Fala galera, de boas?
Minha dúvida é a seguinte: como faço para animar sempre o último coração da barra de vidas?
Meu código tá assim:
Create event: vidas = 2;
Draw event:
for (i=0; i<=vidas; i++)
{
draw_sprite_ext(sprite_index,image_index,x+i*sprite_get_width(spr_coracao)+16, y, 1, 1, 0, image_blend, 1);
}
Consigo desenhar os três corações na tela, mas gostaria que sempre o último coração fosse animado.
Poderiam me ajudar?
Minha dúvida é a seguinte: como faço para animar sempre o último coração da barra de vidas?
Meu código tá assim:
Create event: vidas = 2;
Draw event:
for (i=0; i<=vidas; i++)
{
draw_sprite_ext(sprite_index,image_index,x+i*sprite_get_width(spr_coracao)+16, y, 1, 1, 0, image_blend, 1);
}
Consigo desenhar os três corações na tela, mas gostaria que sempre o último coração fosse animado.
Poderiam me ajudar?
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Animar o último coração
Levando em consideração que você já possua a animação do coração, basta fazer desta forma:
Ao invés de utilizar o image_index diretamente no subimg do draw_sprite, você pode usar uma condicional ternária, que funciona como um if e else em uma única linha de comparação:
Veja as diferenças:
Quando você necessitar de mais de uma animação em um objeto, você precisará de alguma forma fazer alguma "gambiarra", pois o image_index é referente a sprite linkada ao objeto e somente a ela.
Código: Selecionar todos
// Draw event
for (var i = 0; i < vidas; ++i) {
draw_sprite_ext(sprite_index, (i < vidas-1) ? 0 : image_index, x+i*sprite_get_width(spr_coracao)+16, y, 1, 1, 0, image_blend, 1);
}
Veja as diferenças:
Código: Selecionar todos
// Operador Ternário
(i < vidas-1) ? 0 : image_index;
// Condicional comum:
if(i < vidas-1){
return 0;
}else{
return image_index;
}
Re: Animar o último coração
Isso é bem interessante.
Coloquei o operador ternário no GM:S 1 e dá erro. Ksks
Coloquei o operador ternário no GM:S 1 e dá erro. Ksks
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Animar o último coração Tópico resolvido
Vish kkkk, usa então da forma comum.
Código: Selecionar todos
for (var i = 0; i < vidas; ++i) {
var subimg = 0;
if(i < vidas-1){
subimg = 0;
}else{
subimg = image_index;
}
draw_sprite_ext(sprite_index, subimg, x+i*sprite_get_width(spr_coracao)+16, y, 1, 1, 0, image_blend, 1);
}
Re: Animar o último coração
Cara, deu super certo!!!! Muito obrigado!!!
Passei 3 dias tentando animar o coração. Obrigado de verdade!!! Cê é um mito!!!
Passei 3 dias tentando animar o coração. Obrigado de verdade!!! Cê é um mito!!!
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes