Como se faz um sistema de combo pra mobile
4 participantes
Página 1 de 1
Como se faz um sistema de combo pra mobile
Olá gostaria de sabe como eu posso criar um sistema um combo de ataque com botão na unity 3d
Vans 123- Membro
- PONTOS : 1465
REPUTAÇÃO : 9
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
Especifica mais o que é um Combo ?
e da um Exemplo
(eu acho que sei o que é, mas não tenho certeza, então...)
e da um Exemplo
(eu acho que sei o que é, mas não tenho certeza, então...)
Re: Como se faz um sistema de combo pra mobile
É quando vc aperta 3 vezes em um botão e executar 3 ataque se vc para de clicar na segunda por exemplo e lê volta pro primeirodutrabr100 escreveu:Especifica mais o que é um Combo ?
e da um Exemplo
(eu acho que sei o que é, mas não tenho certeza, então...)
Vans 123- Membro
- PONTOS : 1465
REPUTAÇÃO : 9
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
Vans 123 escreveu:É quando vc aperta 3 vezes em um botão e executar 3 ataque se vc para de clicar na segunda por exemplo e lê volta pro primeirodutrabr100 escreveu:Especifica mais o que é um Combo ?
e da um Exemplo
(eu acho que sei o que é, mas não tenho certeza, então...)
Ok, sendo assim
Acredito que tu ja tenha o metodo atacar pronto (metodo chamado ao jogador apertar o botao de ataque)
No script que fica esse metodo iremos criar 2 variaveis
Int Combo = 0;
bool JanelaDeCombo = false;
Agora vamos a logica disso:
Quando o player atacar tu vai meter um:
CancelInvoke(); (isso cancela todos invokes)
JanelaDeCombo = true;
Combo++;
Invoke("DesativarJanelaDeCombo", 0.3f);
Agora esse metodo DesativarJanelaDeCombo() vai zerar a int combo e tornar false o JanelaDeCombo.
Combo = 0;
JanelaDeCombo = false;
O Invoke chama um metodo com um Delay, esse Delay vai ser o tempo maximo para o player atacar sem sair do combo.
O CancelInvoke vai cancelar todos invokes ativos, para o JanelaDeCombo nao ir para false por acidente.
(Eu tentaria explicar melhor, mas to digitando pelo celular 🥺 )
Espero ter ajudado
E a parte de usar a variavel Combo para saber que ataque executar fica por sua conta
Re: Como se faz um sistema de combo pra mobile
É meio complicado, mas, acredito que o método mais facil é voce pegar as tres animação e utilizar o animator.
Tutorial passo a passo:
1. Primeiro, crie um Canvas, clicando com o botão direito do mouse UI>Canvas.
2. Segundo, crie o botão (Acredito que voce ja tenha feito isso), mas se nao, clique com o botao direito do mouse sobre o Canvas e vai em UI>Button e edite-o do jeito que deseja.
3. Terceiro, crie um Animator para o seu jogador e dentro do Animator, coloque todas suas animações (A animação inicial, do attack 1, attack 2 e attack 3), nao esquece de conferir se o Loop Time das animações não está ativado, se estiver desative. Deve ficar assim:
4. Depois crie um parametro do tipo Int , com o nome "Combo"
5. Agora crie transições entre os attacks, de ida e volta, é só clicar com o botao direito do mouse sobre o State e ir em Make Transiton. Tem que ficar assim:
6. Em todas transições desative o Has Exit Time, e clique no + em Conditions vai aparecer o parametro Combo, e em todas coloque em Equals. Depois para cada transição de ida, adicone um 1 e para todas de volta deixe 0 (Irei mandar um video para nao parecer muito confuso).
Transições de ida:
Transições de volta:
7. Crie um script com o nome Combo, e coloque ele no seu Jogador:
8. Agora, clique sobre animação "Attack_1" (No caso utiliza a sua animaçao de primeiro ataque) na aba Project e aperte Ctrl + 6, voce vai ver que vai abrir uma aba Animation, com varios losangulos, que sao as etapas das posições, rotações e etc da animação, no ultimo frame, clique sobre ele, e no canto esquerdo voce verá um simbolo ao lado do losangulo, ele é o Add Event, clique nele e vai aparecer para colocar uma função, coloque o Combo2. Faça o mesmo com a Animação Attack 2 e Attack 3, porém, para a 2 coloque a função Combo3 e para a Animação Attack_3 coloque a função FinalizarCombo. Olhe:
Para a Animação Attack_1:
Para a Animação Attack_2:
Para a Animação Attack_3:
Como eu disse é um pouco complicado, mas ai está um tutorial bem detalhado, olha o video de demonstração:
Tutorial passo a passo:
1. Primeiro, crie um Canvas, clicando com o botão direito do mouse UI>Canvas.
2. Segundo, crie o botão (Acredito que voce ja tenha feito isso), mas se nao, clique com o botao direito do mouse sobre o Canvas e vai em UI>Button e edite-o do jeito que deseja.
3. Terceiro, crie um Animator para o seu jogador e dentro do Animator, coloque todas suas animações (A animação inicial, do attack 1, attack 2 e attack 3), nao esquece de conferir se o Loop Time das animações não está ativado, se estiver desative. Deve ficar assim:
4. Depois crie um parametro do tipo Int , com o nome "Combo"
5. Agora crie transições entre os attacks, de ida e volta, é só clicar com o botao direito do mouse sobre o State e ir em Make Transiton. Tem que ficar assim:
6. Em todas transições desative o Has Exit Time, e clique no + em Conditions vai aparecer o parametro Combo, e em todas coloque em Equals. Depois para cada transição de ida, adicone um 1 e para todas de volta deixe 0 (Irei mandar um video para nao parecer muito confuso).
Transições de ida:
Transições de volta:
7. Crie um script com o nome Combo, e coloque ele no seu Jogador:
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; //Para conseguir acessar as ferramentas UI
public class Combo : MonoBehaviour
{
[SerializeField]int clicks;
public Animator anim; //Coloque seu Animator aqui no inspector
public Button botaoAttack; //Coloque seu botao de ataque aqui no inspector
void Start()
{
botaoAttack.onClick = new Button.ButtonClickedEvent();
botaoAttack.onClick.AddListener(() => Atacar());
}
void Update()
{
}
public void Atacar()
{
clicks++;
Combo1();
}
public void Combo1()
{
clicks = Mathf.Clamp(clicks,0,3);
if(clicks == 1)
{
anim.SetInteger("Combo",1);
}
}
public void Combo2()
{
if(clicks >= 2)
{
anim.SetInteger("Combo",2);
}
else
{
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void Combo3()
{
if(clicks >= 3)
{
anim.SetInteger("Combo",3);
}
else
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
public void FinalizarCombo()
{
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
anim.SetInteger("Combo",0);
clicks = 0;
}
}
8. Agora, clique sobre animação "Attack_1" (No caso utiliza a sua animaçao de primeiro ataque) na aba Project e aperte Ctrl + 6, voce vai ver que vai abrir uma aba Animation, com varios losangulos, que sao as etapas das posições, rotações e etc da animação, no ultimo frame, clique sobre ele, e no canto esquerdo voce verá um simbolo ao lado do losangulo, ele é o Add Event, clique nele e vai aparecer para colocar uma função, coloque o Combo2. Faça o mesmo com a Animação Attack 2 e Attack 3, porém, para a 2 coloque a função Combo3 e para a Animação Attack_3 coloque a função FinalizarCombo. Olhe:
Para a Animação Attack_1:
Para a Animação Attack_2:
Para a Animação Attack_3:
Como eu disse é um pouco complicado, mas ai está um tutorial bem detalhado, olha o video de demonstração:
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
@Pokedlg, sua resposta está tão boa, que eu consideraria criar um tópico na área de tutorias dos membros usando ela. Já vi essa dúvida algumas vezes aqui, seria bom ter um tópico sobre isso, evitaria ficar perdida como uma resposta apenas.
Fagner- Moderador
- PONTOS : 4442
REPUTAÇÃO : 667
Áreas de atuação : Modelagem 3D, Programação.
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
Obrigado , vou postar láFagner escreveu:@Pokedlg, sua resposta está tão boa, que eu consideraria criar um tópico na área de tutorias dos membros usando ela. Já vi essa dúvida algumas vezes aqui, seria bom ter um tópico sobre isso, evitaria ficar perdida como uma resposta apenas.
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
Não deu certo no meu ja apaguei e fiz de novo e nada
Vans 123- Membro
- PONTOS : 1465
REPUTAÇÃO : 9
Respeito as regras :
Re: Como se faz um sistema de combo pra mobile
O que acontece?
Pokedlg- ProgramadorMaster
- PONTOS : 2336
REPUTAÇÃO : 198
Áreas de atuação : Iniciante: ShaderLab, Blender, Java, C++, ASP.NET.
Intermediário: C#.NET, Unity, Shader Graph.
Respeito as regras :
Tópicos semelhantes
» Galera como posso fazer um sistema de combo no mobile ?
» Como criar um Sistema de Craft para Mobile.
» [RESOLVIDO] Sistema De Combo
» Sistema de Musica Mobile
» Como criar sistema de Habilidades (Skills) para o personagem 2D / e sistema de batalha 2D
» Como criar um Sistema de Craft para Mobile.
» [RESOLVIDO] Sistema De Combo
» Sistema de Musica Mobile
» Como criar sistema de Habilidades (Skills) para o personagem 2D / e sistema de batalha 2D
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos