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. |
Troca de sprites
Troca de sprites
Estou tentando aprender a usar o Game Maker 2 e estou com um problema pra trocar o sprite, quando eu fico no alcance do inimigo, ele troca o script idle pra chase, o problema é que o sprite continua parado e não muda pra animação dele correndo, alguém sabe o que pode estar dando erro?
o Código
if (hspd) != 0 image_xscale = sign(hspd); //TROCA O LADO DO SPRITE
if distance_to_object(obj_player) <distance
{
state = EnemyState.CHASE
image_index = spr_enemyrun;
}
o Código
if (hspd) != 0 image_xscale = sign(hspd); //TROCA O LADO DO SPRITE
if distance_to_object(obj_player) <distance
{
state = EnemyState.CHASE
image_index = spr_enemyrun;
}
Re: Re: Troca de sprites
Nunca, sou bem iniciante, não sei quase nada, pode me mostrar como eu faria isso?Christian escreveu:Já tentou usar um switch no evento draw?
Acho que resolveria teu problema
Re: Re: Troca de sprites
Claro que posso mostrar.
É bem simples mesmo, olha só
No evento draw coloque o seguinte:
Uma coisa que notei é que tu está usando "image_index" para mostrar a sprite, sempre que quiser mostrar uma sprite tem que usar o "sprite_index"
O image_index serve para indicar o frame da sprite.
Lá no teu código onde checa a troca de sprite tem que apagar somente o "image_index = spr_enemyrun"
Faça o teste. Qualquer coisa vou estar por aqui.
É bem simples mesmo, olha só
No evento draw coloque o seguinte:
Código: Selecionar todos
// aqui vai mostrar a sprite certa para cada state
switch state {
case EnemyState.IDLE:
sprite_index = spr_enemyidle;
break;
case EnemyState.CHASE:
sprite_index = spr_enemyrun;
break;
}
//aqui desenha o teu inimigo
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, image_alpha)
O image_index serve para indicar o frame da sprite.
Lá no teu código onde checa a troca de sprite tem que apagar somente o "image_index = spr_enemyrun"
Faça o teste. Qualquer coisa vou estar por aqui.
Quem está online
Usuários navegando neste fórum: Google [Bot] e 0 visitante