Hola a tod@s,
Estoy estancado en un proyecto y necesito ayuda. En mi escenario, el personaje tiene que hacer un recorrido y, al final de éste, recoger un objeto. Al hacerlo, el personaje vuelve al punto de partida y debe hacer de nuevo el recorrido para volver a recoger el objeto. Hasta ahí no hay problema. El tema está en que una vez hecho esto, si el tiempo que tarda en hacer el recorrido por segunda vez es inferior al tiempo invertido la primera vez, se debe mostrar en consola un mensaje de felicitación y es ahí donde me he quedado bloqueado y no encuentro la forma de solucionarlo. El problema (creo) está en la función "OnTriggerEnter". Adjunto el código para ver si me podéis echar un cable:
#pragma strict
//Variables OBJETOS CON EFECTOS TEMPORALES
var scriptPersonaje : UnityStandardAssets.Characters.ThirdPerson.ThirdPersonCharacter;
var contador : float;
var contador_switch : boolean;
var reloj : float;
var tiempoinvertido : float;
var record : float;
//Variables RAYCAST
var hit : RaycastHit;
//Variables MUERTE
var onGround: boolean = true; // nos dice cuando el personaje está en caida
var firstY : float; // Posición inicial del personaje
var lastY : float; // La última posición del personaje en que tocaba suelo
var hFall : float;
var character: CharacterController;
var salud : int = 20;
function Start () {
firstY = transform.position.y;
}
function Update () {
//RAYCAST
if (Physics.Raycast(transform.position, transform.forward, hit, 5)){
if (hit.collider.gameObject.tag=="interruptores"){
print ("Estoy tocando el interruptor. Pulsa 'E' para recogerlo");
if(Input.GetKeyDown("e")) {
print ("He cogido el interruptor");
Destroy(hit.collider.gameObject);
}
}
}
reloj = reloj + Time.deltaTime;
//ITEMS DE TIEMPO LIMITADO
if (contador_switch){ // Esta variable controla el tiempo que los items de tamaño y velocidad están activos
contador = contador + Time.deltaTime;
if(contador>5){
contador = ;