Conectar-se
Quem está conectado
20 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 20 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 22/08/2012
Número de Mensagens : 3
Insígnias de JAM :

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

Como realizar isso?

em Qua 22 Ago 2012, 21:21
Bem, eu jogo um jogo Indie chamado The Binding of Isaac, video abaixo:

Spoiler:

E, como podem ver tem um sistema legal, no qual atira para Norte, Sul, Leste e Oeste, (com WASD) com um pequeno intervalo entre os tiros.
E gostaria que me ensinassem a fazer isso, pois os tutoriais que vi são tiros, mas em plataforma e no mouse.
E se possivel, gostaria também de saber o que faz o personagem ter uma suavização no movimento, e não parar na hora, obrigado desde já.
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

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

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

Re: Como realizar isso?

em Qui 23 Ago 2012, 00:03
Para fazer ele atirar para os 4 lados basta declarar uma variavel que controle isso, como por exemplo:
Código:

lado = 1

/*
1 = Cima
2 = Direita
3 = Baixo
4 = Esquerda

E quando for atirar, apenas verifique o valor da variável e faça o tiro ir para a direção desejada.

___

Sobre o movimento suave do jogador, isso se chama fricção/atrito, existe uma variável no Game Maker chamada friction que faz o trabalho para você, basta definir um valor há ela que a mesma vai aplicar na velocidade do objeto (speed/vspeed/hspeed).

___

Não sei qual seu nivel de experiencia com o Game Maker, mas, se não souber alguma coisa é só perguntar!

Flw! sorrindo2
avatar
Data de inscrição : 22/08/2012
Número de Mensagens : 3
Insígnias de JAM :

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

Re: Como realizar isso?

em Qui 23 Ago 2012, 16:21
Os tiros eu já intendi, agora só falta um pequeno intervalo entre eles, pois está indo como se fosse um laser....

O movimento eu ainda não intendi!

Obrigado.
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

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

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: Como realizar isso?

em Qui 23 Ago 2012, 16:34
Amigo, como o gabrielsch disse, vamos definir um tipo de amortizador de movimento que o GM chama friction. Pra fazer esse tipo de movimento basta algo do tipo:
Coloque no Evento Create:
Código:

[b]friction [/b]= 0.01; // decrementa 1 centésimo a cada STEP (mude aqui)
Agora no Evento KeyPressed (Any Key):
Código:

if (keyboard_lastchar == 'W') vspeed = -2;
if (keyboard_lastchar == 'S') vspeed = 2;
if (keyboard_lastchar == 'A') hspeed = -2;
if (keyboard_lastchar == 'D') hspeed = 2;
VSPEED e HSPEED são variáveis internas de cada instância que determinam o movimento dos eixos vertical e horizontal respectivamente. Assim, quando colocamos -2 ou 2 alimentamos esse eixo que é "comido" pelo friction.
Flws!
avatar
Data de inscrição : 22/08/2012
Número de Mensagens : 3
Insígnias de JAM :

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

Re: Como realizar isso?

em Dom 26 Ago 2012, 13:15
Obrigado, agora só falta o alarm, que eu ainda não consegui, se alguém conseguir, vou deixar o download do meu projeto para verem como os códigos estão e colocar alarm, do jeito que saia 2 tiros por segundo...

mediafire.com ?n4ix8gadr9fueuc
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