[Dúvida] Como dar ataques físicos?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido [Dúvida] Como dar ataques físicos?

Mensagem por 9155gabrielgap em Qui 02 Jan 2014, 12:20

eae galera? eu tenho uma dúvida, eu estou fazendo um rpg. e eu queria saber como dar socos, tipo, o obj_personagem se transforma no obj_soco, e quando termina a animação ele volta a ser o obj_personagem, e ao mesmo tempo, se ele estiver colidindo com o inimigo ele tirar sangue dele, tipo uns 10 de sangue! como eu faço? pf me ajudem!

minha versão do gm: 8.1 lite e 8.1 pro


Última edição por 9155gabrielgap em Qui 02 Jan 2014, 17:09, editado 1 vez(es)

9155gabrielgap

Número de Mensagens : 24
Idade : 15
Data de inscrição : 15/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Dúvida] Como dar ataques físicos?

Mensagem por Lukbebalduke em Qui 02 Jan 2014, 12:34

Então vamos lá, você já está partindo de um principio um tanto quanto desnecessario , pra que 2 objetos se nós podemos usar só um ? É só definirmos um estado de batendo para ele, fazemos assim no create:

Código:
batendo = 0;


Agora no step:

Código:
If keyboard_check_pressed(ord("X")) and batendo = 0
{
sprite_index = batendo_spr;
batendo = 1;
};

Agora no animation end

Código:
if batendo = 1
{
batendo = 0;
sprite_index = parado_spr;
};

Agora no collision com o inimigo

Código:
if batendo = 1
other.vida -= 10;

A principio a mecanica é essa, mas para evitar bugs você pode ao invez de criar uma colisao criar um objeto com a mascara do soco, ou fazer um knocback no inimigo coisas assim para evitar possiveis bugs com a collisão. (Qualquer coisa , se alguem quiser corrigir escrevi o codigo agora e não testei.)

Lukbebalduke

Ranking : Nota B
Número de Mensagens : 764
Data de inscrição : 06/07/2011
Notas recebidas : B - B - A - B
Reputação : 30
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 2

Voltar ao Topo Ir em baixo

Resolvido Re: [Dúvida] Como dar ataques físicos?

Mensagem por felipejoys em Qui 02 Jan 2014, 14:22

A não ser que você queira muita precisão (como em jogos de Street Fighter), você pode mudar a sprite do seu obj_jogador e criar um objeto quadrado mas invisível na frente do seu personagem que na criação, se estiver colidindo, tira dano do inimigo com que colide, e colidindo ou não, se auto-destrói.

Fica mais ou menos assim:
Você aperta o botão de golpe
Isso faz mudar a sprite e criar o obj_soco na frente do personagem instantaneamente
Esse obj_soco tem a sprite de um quadrado preto do tamanho do seu soco, com a caixa "Invisible" marcada. Esse objeto serve como a área onde o soco atinge, se colidir com esse quadrado, está na área do golpe
Use o seguinte código pra atingir os inimigos, mudando as variáveis como necessário:
Código:
inimigo = -1
inimigo = instance_place(x,y,o_inimigo)
if (inimigo >= 0)
    inimigo.vida-= 10
No final da animação da sprite, seu jogador volta à sprite original

NOTA: Com esse código apenas um inimigo por vez será atingido, mas você pode adequar às suas necessidades

felipejoys

Número de Mensagens : 56
Data de inscrição : 29/12/2013
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Dúvida] Como dar ataques físicos?

Mensagem por 9155gabrielgap em Qui 02 Jan 2014, 18:55

muito obrigado mesmo, me ajudarão muito!



Podem Trancar o Tópico!  Happy 

9155gabrielgap

Número de Mensagens : 24
Idade : 15
Data de inscrição : 15/09/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Resolvido Re: [Dúvida] Como dar ataques físicos?

Mensagem por Conteúdo patrocinado Hoje à(s) 23:12


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum