Accueil Forums J’ai besoin d’aide Unity3D Ouverture de Porte

Ce sujet a 3 réponses, 4 participants et a été mis à jour par  upln, il y a 3 mois et 3 semaines.

4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #772

    Dommsday
    Participant

    Bonjour à tous,

    Voilà mon problème,

    Je souhaite ouvrir une porte en appuyant sur la touche E mais malheureusement quand je rentre le code adéquat(Input.GetKeyDow(KeyCode.E), la porte de fonctionne pas alors que si j’enlève se bout de code la porte s’ouvre au moment ou je rentre dans le Trigger.

    Je vous donne le code pour vous montrez.

    public GameObject Pivot, Porte;
    public int Angle = 130;
    private int CurAngle;
    public bool Ouverture = false;

    private Text Info;

    void Start()
    {
    Info = GameObject.Find(“Text”).GetComponent<Text>();
    }

    void Update()
    {
    if (Ouverture && Input.GetKeyDown(KeyCode.E))//Si je retire le Code pour la touche E la porte s’ouvre
    {
    if(CurAngle < Angle)
    {
    CurAngle += 1;
    Porte.transform.RotateAround(Pivot.transform.position, -Vector3.up, CurAngle * Time.deltaTime);
    }

    }
    else
    {
    if(CurAngle != 0)
    {
    CurAngle -= 1;
    Porte.transform.RotateAround(Pivot.transform.position, Vector3.up, CurAngle * Time.deltaTime);
    }
    }

    }

    void OnTriggerEnter(Collider col)
    {
    if (col.gameObject.tag == “Player”)
    {
    Info.text = “Appuyer sur E pour ouvrir”;

    Ouverture = true;
    }
    }

    void OnTriggerExit()
    {
    Ouverture = false;
    }
    }

    • Ce sujet a été modifié le il y a 3 mois et 3 semaines par  upln.
    #833

    Dpg
    Participant

    et si tu mettais ton input au moment de la détection du joueur ?

    Si le joueur se trouve dans la zone de détection “et” s’il appuis sur une touche, la porte s’ouvre.

    #835

    skytix29
    Participant

    je pense que tu pourrait tenter de metre trois condition

    par exemple
    if (Input.GetKeyDown(KeyCode.E))
    {
    if (Ouverture)
    {
    if(CurAngle < Angle)
    {

    {
    {
    {

    C’est compiquer et pas opti mais je pense que c’est fonctionel

    #842

    upln
    Admin bbPress

    Bonjour

    J’ai testé le code ca fonctionne chez moi.
    En tous cas si tu place un debug.log après le if, ca marche.

    Ton boolean ouverture change bien de valeur ?

    Sinon essaie de ça :

4 sujets de 1 à 4 (sur un total de 4)

Vous devez être connecté pour répondre à ce sujet.