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

Flash Discussion :

[FLASH 8] l appel des methodes apres instanciation


Sujet :

Flash

  1. #1
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut [FLASH 8] l appel des methodes apres instanciation
    soit le code suivant d instanciation d objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this.attachMovie("symb", "symb"+i+"/"+j, this.getNextHighestDepth(), {_x:tmpX, _y:tmpY});
    this["symb"+i+"/"+j].gotoAndStop(5);
    this["symb"+i+"/"+j].init();
    et le code du symbole du lui meme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function init(){trace("init");}
    le symbole est bien instancié, le movieclip se deplace bien sur l image 5....mais la méthode init ne s éxécute pas.
    y a t il une explication? Moi je ne vois pas du tout où est le soucis

  2. #2
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Salut,

    tu l'as mise où ta fonction init ?
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  3. #3
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    dans mon movieClip symb

  4. #4
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    je considère un movie clip comme une classe, donc après instanciation, je devrais pouvoir avoir accès à ses propriétés et méthodes...non?

  5. #5
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Ca dépend comment tu as construit ton objet.
    Est-ce que ta méthode init est accessible depuis l'image 5 ?
    Si tu mets un bouton sur l'image 5 de ton clip qui appelle init(), est-ce que cela marche ?
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  6. #6
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    Alors dans mon movieClip j ai 2 lignes.
    sur la premiere j ai 5 images dont la premiere est une image clée avec la méthode init et bien d autres, des méthodes communes.
    sur la 2eme j ai 5 images clées avec des movieClip différents et des propriétés différentes.

    Le soucis vient surtout du fait que si j écris quelque chose comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    this["symb"+i+"/"+j].onRelease=function(){
     this.init();
    }
    et bien ça marche super, même sans être sur la 1ère image,
    je suis sûr que quelque chose de simple m'échappe mais je ne vois pas quoi.

    j ai bien essayé de mettre ce code dans la méthode movieClip.onLoad() [doc: Appelé lorsque le clip est instancié et apparaît dans le scénario.]
    mais cette méthode n 'est absoluement jamais éxecutée...

  7. #7
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Un petit bricolage pour tester :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    this.attachMovie("symb", "symb"+i+"/"+j, this.getNextHighestDepth(), {_x:tmpX, _y:tmpY});
    this["symb"+i+"/"+j].gotoAndStop(5);
    this["symb"+i+"/"+j].onEnterFrame = function() {
      if(this._currentframe == 5) {
        delete this.onEnterFrame;
        this.init();
      }
    }
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  8. #8
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    Super idée, et énorme bricolage qui fonctionne... mais tu l as toi même dit, c est du bricolage
    j'espère que FL9 ne sera pas aussi pourri et lax pour le code qu il ne l est dans le 8...parce que c est une catastrophe.

    Je te remercie pour ton idée

  9. #9
    Expert éminent

    Avatar de freegreg
    Profil pro
    Inscrit en
    Août 2002
    Messages
    4 376
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2002
    Messages : 4 376
    Points : 8 779
    Points
    8 779
    Par défaut
    Oui il doit y avoir beaucoup mieux, mais j'ai pas flash sous la main pour tester
    Avant toutes questions, consultez nos différentes ressources disponibles gratuitement : XML, Développement Web, Flash/Flex, (X)HTML, CSS, JavaScript, AJAX, ASP
    Offres d'emploi développeur Web

  10. #10
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    alors nouveau soucis de portée maintenant mais qui concerne toujours le meme probleme

    dans mon _root j ai une variable que j aimerais passer à cette fonction init mais évidemment, la portée n est pas la bonne et _parent ne marche pas...
    comment puis je faire?

  11. #11
    Membre émérite
    Avatar de jean philippe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 062
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 062
    Points : 2 313
    Points
    2 313
    Par défaut
    déclare ta variable en _global

  12. #12
    Membre éclairé Avatar de luta
    Inscrit en
    Novembre 2003
    Messages
    1 038
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 1 038
    Points : 786
    Points
    786
    Par défaut
    cela ne fonctionne pas.
    La fonction init() est appelée dans le symb.onEnterFrame, le soucis est que je rentre dans le onEnterFrame qu après avoir instancié tous mes clips, donc ma variable est écrasée à chaque fois.
    N y a t il pas moyen d affecté une variable membre du mc symb directement?

    lorsque j ecris monClip.myType=1

    puis que je rentre dans le clip en appelant une fonction quelconque et en faisant
    trace(this.myType); la valeur est unidentified...
    j ai beaucoup de problèmes d affectations et d executions de fonctions, y aurait il une règle? parce que je n avance pas du tout du coup...voir je ne comprend pas pourquoi cela ne fonctionne pas

Discussions similaires

  1. appeler des methodes depuis une fonction :-(
    Par membreComplexe12 dans le forum C++
    Réponses: 11
    Dernier message: 19/01/2011, 14h05
  2. Appel de methode aprés initialisation du bean
    Par brasselyd dans le forum Spring
    Réponses: 1
    Dernier message: 23/03/2007, 11h44
  3. [applet] appeler des methodes d'un programme en C
    Par allserv dans le forum Applets
    Réponses: 7
    Dernier message: 20/03/2007, 11h03
  4. Réponses: 3
    Dernier message: 09/08/2006, 11h58
  5. forcer l'appel d une methode apres un repaint
    Par ceres02 dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 11/03/2006, 00h17

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