IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Unity Discussion :

Script ne fonctionnant pas sur deux objets


Sujet :

Unity

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2013
    Messages : 8
    Par défaut Script ne fonctionnant pas sur deux objets
    Salut tous le mondes !!

    je me présente fufu7334 et je suis venu sur ce fofo pour demander de l'aide je vous explique!

    je veux crée une porte qui s'ouvre quand l'ont appuit sur "E" rien de compliquer vous allez me dire je vous le confirme j'ai le script ici>

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    var IsOpen : boolean = false;
     
    var CanOpen : boolean = false;
     
    var Volume : float = 0.5;
     
    function Start () {
    audio.volume = Volume;
    }
     
    function Update () {
     
    if(Input.GetKeyUp(KeyCode.E) && !IsOpen && CanOpen)
     
    {
            Opening();
            IsOpen = true;
            audio.Play();
    }
     
    else if(Input.GetKeyUp(KeyCode.E) && IsOpen && CanOpen)
     
    {
            Closing();
            IsOpen = false;
    }
     
     
    }
     
    function Opening()
    {
    for (var i = 0; i < 100; i++)
    {
        transform.Rotate(0,-0.9,0);
     
        yield WaitForSeconds(0.01);
            }
    }
     
    function Closing()
    {
    for (var i = 0; i < 100; i++)
    {
        transform.Rotate(0,0.9,0);
     
        yield WaitForSeconds(0.01);
        audio.Play();
            }
    }
     
    function OnTriggerEnter (other : Collider)
    {
            if(other.gameObject.tag == "Player")
            {
                    CanOpen = true;
            }
    }
     
    function OnTriggerExit (other : Collider)
    {
            if(other.gameObject.tag == "Player")
            {
                    CanOpen = false;
            }
    }
     
     
    @script RequireComponent(AudioSource)

    Je test le script il fonctionne rien a dire mais quand je rajoute une 2éme porte la vien le premier soucis; bein les 2 porte souvre j'aimerais corriger sa mais debutant sur unity je ne c'est comment le corriger.
    2nd bug j'ai remarquer que quand je suis loin de la porte et que j'appuit sur E elle s'ouvre quand méme sans étre sur le trigger!

    j'aimerais bien finir ce script car il m'enerve depuit un certain moment ^^
    voilla je vous et exposer mon probléme en gros pour résumer en partant de ce script j'aimerais que chaque porte souvre correctement et non tous les porte avec le méme scrpit et que je soit dans le trigger pour l'ouvrire;

    Merci!

  2. #2
    Membre expérimenté Avatar de _MAID
    Homme Profil pro
    Game developer
    Inscrit en
    Novembre 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Novembre 2010
    Messages : 216
    Par défaut
    As-tu bien un trigger et un script sur chaque porte ? à priori en lisant ton code (pas facile d’ailleurs, utilises les balises prévu pour ça) je ne vois pas pourquoi cela ne fonctionnerait pas sinon.

  3. #3
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2013
    Messages : 8
    Par défaut
    re :
    oui j'ai bien un trigger sur mes portes et , le méme script et sur les 2 porte enfin l'empty des 2porte que j'ai nommée object
    et rajouter un box collider sur les 2porte peut étre changer de script pour que les porte ne souvre pas tous les 2 a l'opposer de la map ^^ ou peut étre sa vien d'ici du script

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function OnTriggerEnter (other : Collider)
    {
            if(other.gameObject.tag == "Player")
            {
                    CanOpen = true;
            }
    }
     
    function OnTriggerExit (other : Collider)
    {
            if(other.gameObject.tag == "Player")
            {
                    CanOpen = false;
            }
    }

    le changer je rajouter un cube ou un truck pour que le script reconnait les porte du genre porte 1 ou porte 2

  4. #4
    Membre expérimenté Avatar de _MAID
    Homme Profil pro
    Game developer
    Inscrit en
    Novembre 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Novembre 2010
    Messages : 216
    Par défaut
    je comprend pas trop ce que tu veux dire. Avec le script que tu donne au début, dans cette configuration, cela fonctionne très bien:



    Citation Envoyé par fufu7334 Voir le message
    ... enfin l'empty des 2porte que j'ai nommée object
    et rajouter un box collider sur les 2porte peut étre changer de script pour que les porte ne souvre pas tous les 2 a l'opposer de la map ^^ ou peut étre sa vien d'ici du script ....
    faut être plus précis sur ta hierarchy, quelle est le rôle de ton 'empty', c'est pour excentrer le centre de rotation ? Et j'ai pas trop compris non plus ton histoire de collider

  5. #5
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2013
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Novembre 2013
    Messages : 8
    Par défaut
    Je vais mieux m'expliquer car j'etais vague je l'admet bref,

    L'empty permet de définire le centre de rotation de la porte, quand la porte s'ouvre et ce referme,
    Le collider permet a ce que quand le player passe dedans la porte elle s'ouvre que quand l'ont appuie sur "E" et que l'orsque l'ont n'est plus dans le collider la touche "E" ne devrait pas ouvrir la porte,


    Le script fonctionne bien avec une porte elle tourne bien grace a l'empty mais le soucis dans ce script c'est que j'ai un petit soucis avec la touche "E" et quand je rajoute une porte,

    1er soucis;
    car je m'explique quand je ne suis pas dans le collider et que j'appuit sur "E" la porte s'ouvre je ne c'est pas pourquoi !,

    2éme soucis:
    c'est que mes 2portes ne sont pas cote à cote il sont éloigner et pas de la même piece, et quand j'appuie sur "E" elle s'ouvre toutes les 2 mais je voudrait que 1 seul porte s'ouvre quand je suis dans son box collider à la porte que je veux ouvrire,


    désolé si l'image et un peux sombre

    voilla j'espère avoir étais un peux plus claire dans mes propos .
    Images attachées Images attachées  

  6. #6
    Membre expérimenté Avatar de _MAID
    Homme Profil pro
    Game developer
    Inscrit en
    Novembre 2010
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Game developer

    Informations forums :
    Inscription : Novembre 2010
    Messages : 216
    Par défaut
    Citation Envoyé par fufu7334 Voir le message
    1er soucis;
    car je m'explique quand je ne suis pas dans le collider et que j'appuit sur "E" la porte s'ouvre je ne c'est pas pourquoi !,
    d'après ton code, l'ouverture de la porte est conditionné par l'appuis de E et de la présence du player dans le trigger, donc je vois pas pourquoi si tu n'est pas à proximité de la porte, une pression sur E fait qu'elle s'ouvre. Ou alors tu as changé de base la valeur de CanOpen dans l'inspector, la donnée étant public.

    Citation Envoyé par fufu7334 Voir le message
    2éme soucis:
    c'est que mes 2portes ne sont pas cote à cote il sont éloigner et pas de la même piece, et quand j'appuie sur "E" elle s'ouvre toutes les 2 mais je voudrait que 1 seul porte s'ouvre quand je suis dans son box collider à la porte que je veux ouvrire,
    quand tu auras trouvé ce qui cloche sur le point 1), alors je pense que cela solutionnera ce point aussi.

Discussions similaires

  1. survol de lien par un script ne fonctionne pas sur IE
    Par ConceptInterWEB dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 09/08/2013, 13h06
  2. Script ne fonctionnant pas sur ie
    Par Royade dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/01/2013, 22h22
  3. [Google Maps] script ne fonctionnant pas sur le serveur
    Par alex61 dans le forum APIs Google
    Réponses: 2
    Dernier message: 22/11/2011, 16h38
  4. mon script ne fonctionne pas sur internet explorer
    Par Lulu_n10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/09/2008, 09h41
  5. [AJAX] Script ajax ne fonctionne pas sur IE :( !
    Par Funattitude dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 10/08/2006, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo