Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using UnityEngine;
- using System.Collections;
- public class Movimiento : MonoBehaviour {
- public float Fuerza;
- public float FuerzaSalto;
- public bool EnSuelo;
- void Start () {
- }
- void Update () {
- //LOS MOVIMIENTOS SERA EN RELACION A LA CAMARA
- //MOVIMIENTO HORIZONTAL
- float h = Input.GetAxis ("Horizontal");
- rigidbody.AddForce(Camera.main.transform.right * h * Fuerza * Time.deltaTime);
- //MOVIMIENTO VERTICAL (ATRAS Y ADELANTE)
- float v = Input.GetAxis ("Vertical");
- rigidbody.AddForce(Camera.main.transform.forward * v * Fuerza * Time.deltaTime);
- //AHORA AGREGAR EL SALTO
- //YA NO SERA EN BASE A LA CAMARA, AHORA SERA EN RELACION AL ESPACIO
- //SALTARA CON EL BOTON JUMP, ES DECIR EL ESPACIO
- ComprobadorSuelo ();
- if(Input.GetButtonDown("Jump") && EnSuelo)
- {
- rigidbody.AddForce(Vector3.up * FuerzaSalto * Time.deltaTime, ForceMode.Impulse);
- //SALTA BIEN, PERO LO HACE REPETIDAMENTE
- //DEBE SALTAR SOLO CUANDO ESTE EN EL SUELO
- }
- }
- //VAMOS A CREAR UN METODO, QUE CREARA UN RAYO DESDE LA BOLA
- //HACIA ABAJO, SI IMPACTA CON ALGO QUIERE DECIR QUE ESTA TOCANDO SUELO
- void ComprobadorSuelo()
- {
- // RAYO CON DIRECCION ABAJO
- Ray ray = new Ray (transform.position, Vector3.down);
- // VARIABLE DONDE ALMACENAREMOS DATOS DE LO IMPACTADO POR EL RAYO
- RaycastHit hit;
- if(Physics.Raycast(ray, out hit, 0.5f))
- {
- //TOCA SUELO
- EnSuelo = true;
- }
- else
- {
- //NO TOCA SUELO
- EnSuelo = false;
- }
- }
- void OnTriggerEnter(Collider otro)
- {
- if(otro.transform.tag=="Trampas")
- {
- //VAMOS A HACER QUE SE REINICIE EL JUEGO
- //CUANDO SE TOQUE LA TRAMPA
- // Debug.Log("Tocaste la trampa");
- Application.LoadLevel(0);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment