[Unity 5] Novo FPSController ( Jumping )
3 participantes
Página 1 de 1
[Unity 5] Novo FPSController ( Jumping )
Boa noite, estou precisando limitar a quantidade de pulos que o jogador pode dar, por exemplo com o novo FPSController do unity voce consegue apertar ESPAÇO várias vezes e o personagem fica pulando infinitamente, o que eu gostaria de fazer seria colocar um Delay entre cada pulo exemplo, o player aperta espaço>personagem pula>delay de alguns segundos>player consegue pular novamente.
Bom, eu estava verificando a linha de codigo do FPSController e penso que poderia adicionar um Bool pra setar falso ou verdadeiro enquanto o player aperta espaço:
Alguem poderia me ajudar? obrigado.
Bom, eu estava verificando a linha de codigo do FPSController e penso que poderia adicionar um Bool pra setar falso ou verdadeiro enquanto o player aperta espaço:
- Código:
// Update is called once per frame
private void Update()
{
RotateView();
// the jump state needs to read here to make sure it is not missed
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
if (!m_PreviouslyGrounded && m_CharacterController.isGrounded)
{
StartCoroutine(m_JumpBob.DoBobCycle());
PlayLandingSound();
m_MoveDir.y = 0f;
m_Jumping = false;
}
if (!m_CharacterController.isGrounded && !m_Jumping && m_PreviouslyGrounded)
{
m_MoveDir.y = 0f;
}
m_PreviouslyGrounded = m_CharacterController.isGrounded;
}
Alguem poderia me ajudar? obrigado.
Re: [Unity 5] Novo FPSController ( Jumping )
cara, basicamente esta linha que comanda a coisa toda:
isto é uma booleana.
se m_Jump não esta esta verdadeiro (m_Jump é uma booleana[bool] ) então o comando é liberado
na proxima linha nos temos que se o comando "Jump" for pressionado, m_Jump fica verdadeiro. então basta colocar seu if junto com o outro if, ou dentro do if deste comando acima :D
- Código:
if (!m_Jump)
{
m_Jump = CrossPlatformInputManager.GetButtonDown("Jump");
}
isto é uma booleana.
se m_Jump não esta esta verdadeiro (m_Jump é uma booleana[bool] ) então o comando é liberado
na proxima linha nos temos que se o comando "Jump" for pressionado, m_Jump fica verdadeiro. então basta colocar seu if junto com o outro if, ou dentro do if deste comando acima :D
Re: [Unity 5] Novo FPSController ( Jumping )
Certo, mas quero colocar um delay para limitar a quantidade de pulos, pro jogador não ficar apertando ESPAÇo várias vezes sem necessidade...
existe uma bool chamada "m_Jumping", pensei em colocar um if m_Jumping == true, entao m_Jump = false, pois assim enquanto ele esta pulando, eu nao vou conseguir aperta espaço novamente pra pular, ai eu coloco uma delay de 1 seg por exemplo... Porém não está dando certo.
existe uma bool chamada "m_Jumping", pensei em colocar um if m_Jumping == true, entao m_Jump = false, pois assim enquanto ele esta pulando, eu nao vou conseguir aperta espaço novamente pra pular, ai eu coloco uma delay de 1 seg por exemplo... Porém não está dando certo.
Re: [Unity 5] Novo FPSController ( Jumping )
Se você que ter um intervalo entre cada pulo do FPSController, usa >> yield << Veja um código que fiz de exemplo: Espero ter ajudado!
- Código:
void Start()
{
StartCoroutine("SeuMetado");
}
IEnumerator SeuMetado()
{
Debug.Log("Antes de esperar 2 segundos :\ ");
yield return new WaitForSeconds(2); // ....conta 2 segundos...
Debug.Log("Depois de esperar dois segundos :)");
}
Wilker- Iniciante
- PONTOS : 3432
REPUTAÇÃO : 2
Idade : 29
Re: [Unity 5] Novo FPSController ( Jumping )
Obrigado, irei fazer os testes agora, vai ser bem útil no meu projeto, estou adicionando o modelo 3d e as animações do personagem no FPScontroller, o motivo do delay no jump é que se eu não colocar esse delay a animação não vai ficar sincronizada com a quantidade de pulos. =)
Caso dê certo posto os resultados.
Caso dê certo posto os resultados.
Re: [Unity 5] Novo FPSController ( Jumping )
Bom ainda não funcionou, o script tem 2 partes a que postei lá em cima e essa:
- Código:
if (m_CharacterController.isGrounded)
{
m_MoveDir.y = -m_StickToGroundForce;
if (m_Jump)
{
m_MoveDir.y = m_JumpSpeed;
PlayJumpSound();
m_Jump = false;
m_Jumping = true;
}
}
Tópicos semelhantes
» Sistema Adicionado De Agachar No FPSController no Unity
» COMO POSSO DESATIVAR O PULO DO FPSCONTROLLER DO UNITY 5?
» Estou com esse problema,sou novo no unity,alguem pode ajudar?
» [TUTORIAL] Movimento simples para objetos filiados ao FPSController da Unity por código.
» Novo Unity
» COMO POSSO DESATIVAR O PULO DO FPSCONTROLLER DO UNITY 5?
» Estou com esse problema,sou novo no unity,alguem pode ajudar?
» [TUTORIAL] Movimento simples para objetos filiados ao FPSController da Unity por código.
» Novo Unity
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos