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.

Como fazer combos?

Anúncios, Sugestões, Apresentações, Negócios e outras discussões.
Avatar do usuário
vagnerfacini
Novato
Novato
Reações: 0
Mensagens: 3

Como fazer combos?

Mensagem por vagnerfacini » Sex Out 21, 2016 8:36 pm

Boa noite galera, sou novo aqui no Fórum e estou junto com mais dois amigos desenvolvendo um projeto. Sou leigo em programação, mas estou enfrentando cada barreira e aprendendo conforme o meu projeto necessite. No meu projeto eu preciso do seguinte: Eu aperto "cima", "cima", "baixo" (por exemplo) e depois disso meu personagem executa uma magia. Não estou pedindo a programação em si, mas um caminho, um tutorial algum direcionamento que eu possa ler e criar essa programação, não tem problema se o tutorial for em inglês, conto com a colaboração de vocês e sempre ajudarei no que estiver ao meu alcance.

Avatar do usuário
Dust
Membro
Membro
Reações: 0
Mensagens: 109
Localização: Santa Catarina

Re: Ajudem um iniciante

Mensagem por Dust » Sex Out 21, 2016 8:44 pm

você ta querendo fazer uma espécie de combinação tipo um hadouken?
você pode pode usar os alarms para ver se você apertou "up" 2 vezes rapidamente para executar o combo, ou criar uma variável tipo cima_x=0 se apertar pra cima a variável ganhara +1, então se você apertar up e a variável for igual ou maior que 1, seria executado o {combo}, também pode ser feito uma variável de tempo caso você queira que o combo seja executado rapidamente.

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: Ajudem um iniciante

Mensagem por Chuaschinai » Sex Out 21, 2016 10:10 pm

É isso ai mesmo que o amigo Dust disse, utilizar alarms é a melhor maneira de fazer um combo. 

Avatar do usuário
gabrielsch
Colaborador
Colaborador
Reações: 0
Mensagens: 234

Re: Como fazer combos?

Mensagem por gabrielsch » Sáb Out 22, 2016 4:25 am

É possivel fazer isso registrando as ultimas teclas digitadas para ver se existe uma sequência que dispara o combo. No Game Maker é possível pegar a ultima tecla usando a variável keyboard_lastkey ela retorna o código da tecla, então você pode utilizar com as contantes vk_up, vk_down etc. Sendo assim, a melhor solução é armanezar a sequencia de teclas digitadas em uma ds_list e verificar se completou uma sequência correta de teclas toda vez que pressionar um botão lendo os últimos itens adicionados. Fiz um exemplo, pode ficar mais robusto na parte de verificar sequencias corretas mas já é um começo:
///CREATE
ultimas_teclas = ds_list_create()
tempo = 60

///STEP
if keyboard_lastkey != -1 {
   
   tempo = 30 //Reseta o tempo
   var combo = false;
   
    //Adiciona a ultima tecla na lista
   ds_list_insert(ultimas_teclas, 0, keyboard_lastkey);
   keyboard_lastkey = -1; //Reseta a ultima tecla
   
   //Verifica se um combo foi feito usando "accessors"
   if (ultimas_teclas[| 0] == vk_down) && 
      (ultimas_teclas[| 1] == vk_up) && 
      (ultimas_teclas[| 2] == vk_up) {
      combo = true;
      show_message('Combo!');
   }
   
   //Outras combinações aqui....
   
   //Se houve combo ou a lista ultrapassou a 
   //sequencia de 8 teclas limpa a lista de teclas
   if combo || (ds_list_size(ultimas_teclas) > 8 ) {
      ds_list_clear(ultimas_teclas)
      tempo = -1
   }   
}

//Tempo para executar o combo
if tempo > 0 
{
   tempo -= 1;
   if tempo <= 0 
   {
      ds_list_clear(ultimas_teclas) 
      tempo = -1;  
   }
}
O exemplo usa algumas coisas de certa forma avançadas mas nada que uma boa leitura no manual não resolva. Boa sorte com o projeto!
Imagem

Avatar do usuário
vagnerfacini
Novato
Novato
Reações: 0
Mensagens: 3

Re: Como fazer combos?

Mensagem por vagnerfacini » Sáb Out 22, 2016 4:33 pm

Pô valeu galera, vou usar todas as dicas de vocês e depois eu volto aqui pra falar como ficou!!!!

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes