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 :

Problème couroutine non résultat souhaité


Sujet :

Unity

  1. #1
    Nouveau membre du Club
    Inscrit en
    Août 2013
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 203
    Points : 27
    Points
    27
    Par défaut Problème couroutine non résultat souhaité
    Salut tout le monde


    J’ai un problème avec ma fonction NextRomm () ; et avec ma couroutine ChargementSceneToTo();

    La fonction que s’exécute mais la couroutine ne s’exsecute pas


    voici mon script

    Code : 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
    IEnumerator ChargementSceneToTo(){
     
            NextRomm ();
            yield return new WaitForSeconds (3);
            SceneManager.LoadScene ("MaScene");    
        } 
     
    public void NextRomm (){
     
            ChargementSceneToTo ();
            Selection.Play ();
            SelectionUI.SetActive (false);
            Variable.SetActive (false);
            _sriptA.ChargementVideoToto ();
     
     
        } 
     
    void Update () {
     
     
    if (Input.GetKeyDown (KeyCode.A)) {
                NextRomm ();
                ChargementSceneToTo ();
     
            } 
     
    }
    je veut que la fonction s’exécute en premier pour lire ma vidéo pendant que la corotine charge le level ???


    et merci d’avance

  2. #2
    Membre à l'essai
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Février 2019
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable de compte

    Informations forums :
    Inscription : Février 2019
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Salut,

    L'IEnumerator se lance avec StartCoroutine. Ça devrait t'aider.

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 97
    Points : 247
    Points
    247
    Par défaut
    Note aussi que la fonction "NextRomm ();" dés la première instruction fait appel à la fonction "ChargementSceneToTo ();" qui elle même dés la 1ere instruction fait appel à la fonction "NextRomm ();" une confusion à évité je pense.

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2013
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 203
    Points : 27
    Points
    27
    Par défaut
    Merci pour votre soutien

    Je sais que startcouroutine fait appel à la fonction

    J'ai essayé de supprimer les appelle sous mes fonction mais le résultat et le même problème

    Est-ce qu'il y a une solution ???

    Et merci d'avance

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Tu as peut-être de la chance que ta fonction ne se lance pas.
    Parce que sinon tu serais bon pour un super crash en faisant exploser une callstack.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    IEnumerator ChargementSceneToTo(){
      NextRomm ();
      ...
    }
    public void NextRomm (){
      ChargementSceneToTo ();
      ...
    }
    Je sais que startcouroutine fait appel à la fonction
    Où est donc ton appel à StartCoroutine alors ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Août 2013
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 203
    Points : 27
    Points
    27
    Par défaut
    Je vous remercie pour votre aide

    C'est une remarque juste mais J'ai essayé ce correctif

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    void Update () {
     
    if (Input.GetKeyDown (KeyCode.A)) {
                NextRomm ();
     
    StartCoroutine (ChargementSceneToTo ());
     
            }
    Mais le résultat et le même

    Oui absolument J'ai un call dans cette fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _sriptA.ChargementVideoToto ();
    videoplayer ne me permet pas d'utiliser les variables static


    Est-ce qu'il y a une solution pour résoudre ce problème ???

    Et merci d'avance

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par lyokoguerier Voir le message
    videoplayer ne me permet pas d'utiliser les variables static
    Cette affirmation est à 99% fausse. Que la variable soit static ou pas change seulement où elle est stockée et comment y accéder.
    Et de toutes façons je ne vois pas pourquoi tu aurais besoin qu'elle soit static.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2011
    Messages : 97
    Points : 247
    Points
    247
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Cette appel est faux.
    MonoBehaviour.StartCoroutine.
    Vraiment faux ?(je demande car je fais la même), et dans la doc il y a ça :

    Code : 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
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     
    public class ExampleClass : MonoBehaviour
    {
        void Start()
        {
            StartCoroutine(coroutineA());
        }
     
        IEnumerator coroutineA()
        {
            // wait for 1 second
            Debug.Log("coroutineA created");
            yield return new WaitForSeconds(1.0f);
            yield return StartCoroutine(coroutineB());
            Debug.Log("coroutineA running again");
        }
     
        IEnumerator coroutineB()
        {
            Debug.Log("coroutineB created");
            yield return new WaitForSeconds(2.5f);
            Debug.Log("coroutineB enables coroutineA to run");
        }
    }
    Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    StartCoroutine(coroutineA());

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par romnair Voir le message
    Vraiment faux ?(je demande car je fais la même), et dans la doc il y a ça :
    Oui l'appel est correct pardon j'ai lu rapidement. J'ai plus l'habitude de voir l'écriture avec variable intermédiaire.

    Reste que l'appel récursif de A et B entraînera des problèmes.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Août 2013
    Messages
    203
    Détails du profil
    Informations forums :
    Inscription : Août 2013
    Messages : 203
    Points : 27
    Points
    27
    Par défaut
    J'ai essayé la méthode A B de la doc mais c'est pas réglé

    J'ai constaté que ce gameobjet est un enfant
    Autre d'un gameobjet qui se desactive par un SetActive grâce à la fonction NextRomm()

    Et cette enfant c'est une sorte de curseurs qui est
    Sont but fe se desactive et après charge la vidéo de mon canvas (c'est pour ça que j'utilise le call) puis charge la nouvelle scène

    Est-ce c'est pour ça qu'il ne joue pas la couroutine ???

    Est-ce qu'il y a une solution pour résoudre ce mal entendu

    Et merci d'avance

Discussions similaires

  1. Problème PreparedStatement, ? non remplacé.
    Par Marty000 dans le forum JDBC
    Réponses: 2
    Dernier message: 24/11/2006, 15h24
  2. Problème Htaccess non interprété
    Par nazoreen dans le forum Apache
    Réponses: 8
    Dernier message: 16/11/2006, 22h09
  3. Problème CD non bootable
    Par PAULOM dans le forum Périphériques
    Réponses: 1
    Dernier message: 15/06/2006, 20h16
  4. Problème : XML non valide...
    Par loupdeau dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 08/04/2005, 15h12

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