Pulo me ajudem
2 participantes
Página 1 de 1
Pulo me ajudem
um dia desse pedi um script de pulo para um personagem meu, so que formatei o pc ai eu peguei novamente esse script mais quando aperto space nao acontece nada
esse é o script:
esse é o script:
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class Pulo : MonoBehaviour
{
public Vector3 direcaoDoPulo = new Vector3(0, 1, 0);
[Range(1, 20)]
public float forcaDoPulo = 5.0f;
[Range(0.5f, 10.0f)]
public float DistanciaDoChao = 1;
[Range(0.5f, 5.0f)]
public float TempoPorPulo = 1.5f;
public LayerMask LayersNaoIgnoradas = -1;
private bool estaNoChao, contar = false;
private float cronometro = 0;
private Rigidbody corpoRigido;
void Start()
{
corpoRigido = GetComponent<Rigidbody>();
}
void Update()
{
estaNoChao = Physics.Linecast(transform.position, transform.position - Vector3.up * DistanciaDoChao, LayersNaoIgnoradas);
if (Input.GetKeyDown(KeyCode.Space) && estaNoChao == true && contar == false)
{
corpoRigido.AddForce(direcaoDoPulo * forcaDoPulo, ForceMode.Impulse);
estaNoChao = false;
contar = true;
}
if (contar == true)
{
cronometro += Time.deltaTime;
}
if (cronometro >= TempoPorPulo)
{
contar = false;
cronometro = 0;
}
}
}
bartyz- Membro
- PONTOS : 3460
REPUTAÇÃO : 0
Respeito as regras :
Re: Pulo me ajudem
tente o seguinte amigo:
Alem disso nao se esqueça de adicionar as layer onde ele pode pular, por exemplo crie uma layer Chao e adicione ela ao seu terreno ou qualquer lugar onde quer que ele pule, e então vai adicionar essa layer na lista LayerOndePodePular, claro voce pdoe usar quantas e quais layers quiser
- Código:
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(Rigidbody))]
public class Pulo : MonoBehaviour
{
public Vector3 direcaoDoPulo = new Vector3(0, 1, 0);
[Range(1, 20)]
public float forcaDoPulo = 5.0f;
[Range(0.5f, 10.0f)]
public float DistanciaDoChao = 0.1f;
[Range(0.1f, 2.0f)]
public float TempoPorPulo = 1.5f;
public LayerMask layersOndePodePular;
[SerializeField]private Transform groundCheck; // UM OBJ QUE DEVE ESTAR NO PE DO JOGADOR PARA VERIFICACAO
private bool estaNoChao, contar = false;
private float cronometro = 0;
private Rigidbody corpoRigido;
void Start()
{
corpoRigido = GetComponent<Rigidbody>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Space) && estaNoChao == true && contar == false)
{
corpoRigido.AddForce(direcaoDoPulo * forcaDoPulo, ForceMode.Impulse);
estaNoChao = false;
contar = true;
}
if (contar == true)
{
cronometro += Time.deltaTime;
}
if (cronometro >= TempoPorPulo)
{
contar = false;
cronometro = 0;
}
}
void FixedUpdate(){
estaNoChao = false;
Collider[] cols = Physics.OverlapSphere (groundCheck.position,DistanciaDoChao,layersOndePodePular.value);
for(int i=0;i<cols.Length;i++){
if(cols[i].gameObject != gameObject){
estaNoChao = true;
}
}
}
}
Alem disso nao se esqueça de adicionar as layer onde ele pode pular, por exemplo crie uma layer Chao e adicione ela ao seu terreno ou qualquer lugar onde quer que ele pule, e então vai adicionar essa layer na lista LayerOndePodePular, claro voce pdoe usar quantas e quais layers quiser
Re: Pulo me ajudem
esta dando erro groundcheck ? oque e isso
bartyz- Membro
- PONTOS : 3460
REPUTAÇÃO : 0
Respeito as regras :
Re: Pulo me ajudem
fiu mechendo aqui e conseguii vlw
bartyz- Membro
- PONTOS : 3460
REPUTAÇÃO : 0
Respeito as regras :
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos