Como tu pode ver, ele tá se preparando pra atacar. Essa é a sprite que deve permanecer até o jogador encontrar com o monstro. Depois que ele encontra com o monstro, eu coloquei pra trocar de sprite (sprite_index = spr_aff_atacando2), que é a segunda sprite da figura acima, e que é a sprite dele acertando o inimigo. O problema é que ele não faz essa troca de sprites, ele já define a sprite_index = spr_aff_atacando2 desde o começo, mesmo ela estando depois do move_towards_point.
Eu percebi que o GM executa muito rápidos os comandos, tanto que alguns códigos que eu fiz, eu tive que colocar alarms de 0.2 segs pra eles funcionarem como eu queria.
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. |
Ajuda com troca de sprites
Ajuda com troca de sprites
1º problema:
Eu tô tentando trocar a sprite do player quando ele chega próximo do monstro, pra dar o efeito que está atacando. Pra chega perto no inimigo, eu tô usando move_towards_point e logo em seguida eu coloquei pra mudar a sprite:
A primeira sprite é ele preparando a arma para atacar o inimigo. Já a segunda é a sprite em que ele ataca o inimigo. Porém quando vou testar, ele tá iniciando já com a segunda sprite, ele não faz a troca da primeira sprite pra segunda, logo após chegar no inimigo. Alguém sabe como resolver isso?
2º problema:
Quando o char vai em direção ao inimigo, ao chegar onde deveria, ele fica fazendo isso:
Olhem quando ele chega no inimigo
Tentei usar o distance_to_point e redefinir a velocidade pra 0, mas ele continua "patinando" na frente do inimigo. Como resolvo isso?
Eu tô tentando trocar a sprite do player quando ele chega próximo do monstro, pra dar o efeito que está atacando. Pra chega perto no inimigo, eu tô usando move_towards_point e logo em seguida eu coloquei pra mudar a sprite:
A primeira sprite é ele preparando a arma para atacar o inimigo. Já a segunda é a sprite em que ele ataca o inimigo. Porém quando vou testar, ele tá iniciando já com a segunda sprite, ele não faz a troca da primeira sprite pra segunda, logo após chegar no inimigo. Alguém sabe como resolver isso?
2º problema:
Quando o char vai em direção ao inimigo, ao chegar onde deveria, ele fica fazendo isso:
Olhem quando ele chega no inimigo
Tentei usar o distance_to_point e redefinir a velocidade pra 0, mas ele continua "patinando" na frente do inimigo. Como resolvo isso?
- ValdeciVieira
- Moderador
- Reações: 8
- Mensagens: 122
- Localização: Rio de Janeiro, Brasil
Re: Ajuda com troca de sprites
Não entendi direito o 1º problema,mas quanto ao 2º acredito que a velocidade que o personagem se move é maior que a distancia do player pro inimigo então ele acaba ultrapassando e nunca "chega" no lugar e move_towards_point se move em direção a alguma coisa usando a speed do GM e nunca para,você é quem precisa definir a speed pra 0.
Tente usar
Não é solução pq provavelmente o player vai acabar dentro do inimigo
Tente usar
Código: Selecionar todos
if distance_to_object(inimigo) > (algum valor fixo) {
move_towards_point(obj_inimigo1.x,obj_inimigo1.y,20)
}else{speed = 0}
Re: Ajuda com troca de sprites
Sobre o primeiro problema, no código eu troco a sprite do jogador (sprite_index = spr_aff_atacando1), que seria a terceira dessa spritesheet:Mega escreveu:Não entendi direito o 1º problema,mas quanto ao 2º acredito que a velocidade que o personagem se move é maior que a distancia do player pro inimigo então ele acaba ultrapassando e nunca "chega" no lugar e move_towards_point se move em direção a alguma coisa usando a speed do GM e nunca para,você é quem precisa definir a speed pra 0.
Como tu pode ver, ele tá se preparando pra atacar. Essa é a sprite que deve permanecer até o jogador encontrar com o monstro. Depois que ele encontra com o monstro, eu coloquei pra trocar de sprite (sprite_index = spr_aff_atacando2), que é a segunda sprite da figura acima, e que é a sprite dele acertando o inimigo. O problema é que ele não faz essa troca de sprites, ele já define a sprite_index = spr_aff_atacando2 desde o começo, mesmo ela estando depois do move_towards_point.
- ValdeciVieira
- Moderador
- Reações: 8
- Mensagens: 122
- Localização: Rio de Janeiro, Brasil
Re: Ajuda com troca de sprites
Acho que entendi,mas esta trocando pro atk2 pq não tem uma pausa no codigo,tipo assim vc define atk1,coloca a velocidade do sprite em algum valor,manda o player na direção do inimigo e coloca atk2 como sprite.
Uma adaptação
Uma adaptação
Código: Selecionar todos
if distance_to_object(inimigo) > (algum valor fixo)
{
move_towards_point(obj_inimigo1.x,obj_inimigo1.y,20)
}else{
speed = 0;
sprite_index = spr_aff_atacando2
}
Re: Ajuda com troca de sprites
Esse código funcionou, obrigado.Mega escreveu:Acho que entendi,mas esta trocando pro atk2 pq não tem uma pausa no codigo,tipo assim vc define atk1,coloca a velocidade do sprite em algum valor,manda o player na direção do inimigo e coloca atk2 como sprite.
Uma adaptaçãoCódigo: Selecionar todos
if distance_to_object(inimigo) > (algum valor fixo) { move_towards_point(obj_inimigo1.x,obj_inimigo1.y,20) }else{ speed = 0; sprite_index = spr_aff_atacando2 }
Eu percebi que o GM executa muito rápidos os comandos, tanto que alguns códigos que eu fiz, eu tive que colocar alarms de 0.2 segs pra eles funcionarem como eu queria.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante