Conectar-se
Quem está conectado
37 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 36 Visitantes

CRP-Max

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 15/09/2013
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

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)
avatar
Ranking : Nota B
Notas recebidas : B - B - A - B
Data de inscrição : 06/07/2011
Número de Mensagens : 764
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 30

Prêmios
   : 1
   : 0
   : 2
Ver perfil do usuário

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

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.)
avatar
Data de inscrição : 29/12/2013
Número de Mensagens : 56
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1
Ver perfil do usuário

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

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
avatar
Data de inscrição : 15/09/2013
Número de Mensagens : 24
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

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

em Qui 02 Jan 2014, 18:55
muito obrigado mesmo, me ajudarão muito!



Podem Trancar o Tópico!  Happy 
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum