Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema con Recogida de Objectos

Iniciado por Pedro, Mayo 12, 2018, 10:22:12 AM

Tema anterior - Siguiente tema
Mayo 12, 2018, 10:22:12 AM Ultima modificación: Mayo 12, 2018, 10:23:05 AM por Pedro

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class Agua : MonoBehaviour {
 
    GameObject player;
    public GameObject Water;
 
    void Start()
    {
        player = GameObject.FindGameObjectWithTag("Player");
    }
    // Update is called once per frame
    void Update()
    {
    }
    public void OnTriggerEnter(Collider other)
    {
        if (other.gameObject == player)
        {
            RecogerAgua();
        }
    }
        void RecogerAgua()
        {
            if (Input.GetKeyDown(KeyCode.E))
            {
                Water.SetActive(false);
            }
        }
   
}

 
Hola a todos :D estoy intentando crear un script para recoger objetos al pulsar E pero al ponerlo en unity y darle a play no ocurre nada, sabrian decirme por que? aqui os dejo el script.
 
 

OnTiggerEnter solo se "dispara" en el preciso instante en que entras en ese trigger.....  dura solo un frame... y tiene que coincidir que le des a la "E" en ese frame para cojer el agua.... lo cual va a ser casi imposible....
 
 
 
en vez de OnTriggerEnter prueva con "OnTriggerStay"

Cita de: Igor date=1526121249OnTiggerEnter solo se "dispara" en el preciso instante en que entras en ese trigger.....  dura solo un frame... y tiene que coincidir que le des a la "E" en ese frame para cojer el agua.... lo cual va a ser casi imposible....
   
   
       
   
   
      en vez de OnTriggerEnter prueva con "OnTriggerStay"


Gracias Funciono

es exactamente lo que dijo @Igor, como variante o para agregar si querés podés sensar el estado con una simple bool, cuando se da Enter se pone en true, cuando se da Exit se pone en false, la diferencia entre usar esto y usar stay viene con dos ventajas: 1 - no se llama una y otra vez a Stay (que en tu caso puede resultar innecesario), 2- controlas el momento de entrada y salida, por ej cuando entras reproducis una animación y cuando salís otra.
 
Saludos
 
 

Etiquetas: