[RESOLVIDO] Bug no Botão de Pular
2 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Bug no Botão de Pular
iai gente, tô com problema com meu código. o programa diz q ta tudo certo mas o personagem não pula. obs tá em 1º pessoa... quem puder me ajudar agradeço. eu tô iniciando nessa vida de criador de jogos!
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movimentfps : MonoBehaviour
{
public CharacterController controller;
public float velocidade = 12f;
public float gravidade = -9.81f;
public float alturaPulo = 3f;
public Transform groundCheck;
public float distanciaDoChao = 0.4f;
public LayerMask groundMask;
Vector3 velocidadeGravidade;
bool estaNoChao;
void Update()
{
estaNoChao = Physics.CheckSphere(groundCheck.position, distanciaDoChao, groundMask);
if (estaNoChao && velocidadeGravidade.y < 0) ;
{
velocidadeGravidade.y = -2f;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * velocidade * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.Space) && estaNoChao)
{
velocidadeGravidade.y = Mathf.Sqrt(alturaPulo * -2f * gravidade);
}
velocidadeGravidade.y += gravidade * Time.deltaTime;
controller.Move(velocidadeGravidade * Time.deltaTime);
}
}
jackamir15- Iniciante
- PONTOS : 1733
REPUTAÇÃO : 2
Idade : 25
Respeito as regras :
Re: [RESOLVIDO] Bug no Botão de Pular
Tutorial do Brackeys?
alefe c oliveira- Membro
- PONTOS : 1784
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Bug no Botão de Pular
Tem um pequeno erro no seu script na parte do:
[list=linenums]
[*]if (estaNoChao && velocidadeGravidade.y < 0) ;
[*] {
[*] velocidadeGravidade.y = -2f;
[*] }
[/list]
tem um ; logo depois do if. remova esse ;
[list=linenums]
[*]if (estaNoChao && velocidadeGravidade.y < 0)
[*] {
[*] velocidadeGravidade.y = -2f;
[*] }
[/list]
e la no seu inspector, lembre de marcar o Ground Mask do script como Default. E lembre se de colocar o seu objeto GroundChecker bem na base do player. Deve funcionar agora.
[list=linenums]
[*]if (estaNoChao && velocidadeGravidade.y < 0) ;
[*] {
[*] velocidadeGravidade.y = -2f;
[*] }
[/list]
tem um ; logo depois do if. remova esse ;
[list=linenums]
[*]if (estaNoChao && velocidadeGravidade.y < 0)
[*] {
[*] velocidadeGravidade.y = -2f;
[*] }
[/list]
e la no seu inspector, lembre de marcar o Ground Mask do script como Default. E lembre se de colocar o seu objeto GroundChecker bem na base do player. Deve funcionar agora.
alefe c oliveira- Membro
- PONTOS : 1784
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Bug no Botão de Pular
- Código:
using UnityEngine;
public class Test : MonoBehaviour
{
public CharacterController controller;
public float velocidade = 12f;
public float gravidade = -9.81f;
public float alturaPulo = 3f;
public Transform groundCheck;
public float distanciaDoChao = 0.4f;
public LayerMask groundMask;
Vector3 velocidadeGravidade;
bool estaNoChao;
void Update()
{
estaNoChao = Physics.CheckSphere(groundCheck.position, distanciaDoChao, groundMask);
if (estaNoChao && velocidadeGravidade.y < 0)
{
velocidadeGravidade.y = -2f;
}
float x = Input.GetAxis("Horizontal");
float z = Input.GetAxis("Vertical");
Vector3 move = transform.right * x + transform.forward * z;
controller.Move(move * velocidade * Time.deltaTime);
if (Input.GetKeyDown(KeyCode.Space) && estaNoChao)
{
velocidadeGravidade.y = Mathf.Sqrt(alturaPulo * -2f * gravidade);
}
velocidadeGravidade.y += gravidade * Time.deltaTime;
controller.Move(velocidadeGravidade * Time.deltaTime);
}
}
seu script deve ficar assim. Desculpe, meu ultimo comment bugou o codigo kkk, mas aqui está.
alefe c oliveira- Membro
- PONTOS : 1784
REPUTAÇÃO : 8
Respeito as regras :
Re: [RESOLVIDO] Bug no Botão de Pular
Man valeu, funcionou... depois que eu mudei pra Ground Mask do script como Default! Agr ta funcionando legal
jackamir15- Iniciante
- PONTOS : 1733
REPUTAÇÃO : 2
Idade : 25
Respeito as regras :
Re: [RESOLVIDO] Bug no Botão de Pular
De nada. Funcionaria tbm se vc criasse uma só para o chão chamada Ground e definisse ela lá, mas colocando só Default já funciona.
alefe c oliveira- Membro
- PONTOS : 1784
REPUTAÇÃO : 8
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Pular e perder vida
» [RESOLVIDO] Personagem não cai, se eu pular e tentar andar
» [RESOLVIDO] Script para pular com character controller
» [RESOLVIDO] Botões de Ataque e Pular carrega duas animações ao mesmo tempo
» Pular e atirar
» [RESOLVIDO] Personagem não cai, se eu pular e tentar andar
» [RESOLVIDO] Script para pular com character controller
» [RESOLVIDO] Botões de Ataque e Pular carrega duas animações ao mesmo tempo
» Pular e atirar
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos