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

ActionScript 1 & ActionScript 2 Discussion :

[FLASH MX2004 PRO] Pas de _root?


Sujet :

ActionScript 1 & ActionScript 2

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut [FLASH MX2004 PRO] Pas de _root?
    re de nouveau.

    On me dit de ne pas utiliser _root pour récupérer des variables reçues par php de cette manière:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ...swf?tit="mr"&nom="speedev"&pre="bob"
    Sachant que je dois conserver ces variables dans mon swf afin de les passer à un autre swf charger par : loadClip()
    Comment procéder?

    Je n'ai jamais eu autant de soucis pour trouver des réponses en ActionScript!
    Si vous avez qlq adresses intéressantes je suis preneur! Genre une biblio des fonctions actionscript serait la bienvenue.

    Merci!

    Fait beau chez vous?

  2. #2
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Salut,

    tu passes par des FlashVars donc ? De mon point de vue c'est peut-être le seul cas sensé ou on peut utiliser _root Mais la encore si tu peux utiliser le ciblage relatif, je te le conseille !

    @++

  3. #3
    Membre éprouvé Avatar de speedev
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 051
    Par défaut
    deuxième question....comment ne pas perdre la boule? lol

  4. #4
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Citation Envoyé par speedev
    deuxième question....comment ne pas perdre la boule? lol
    en progressant, en testant, en essayant, et à force de courage et d'eau fraîche c'est quelque chose qui te semblera basique

    @++

  5. #5
    Membre expérimenté Avatar de aorgerit
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 257
    Par défaut
    bonjour,

    tu peux sans soucis utilser le _root. comme ciblage.

    Par définition :

    un objet flash , encapsulé dans un code html ou bien autre, te défini une profondeur d'objet et de niveau par défaut à 0.
    Pour atteindre ton niveau ( level ) :
    _levelN où N est ta profondeur de niveau.
    C'est très exactement le même schéma que duplicateMovieClip, createTexteField, createEmptyMovieClip et j'en passe des vertes et des pas mures.
    mais à la différence que à ce moment là , pour les levels, tu dispose de plusieurs niveaux dont le _root est séraré par la définition du niveau où est ton swf.

    je vais etre plus clair avec des exemples :

    tu disposes d'un objet swf initial, donc au niveau : _level0
    dans cet onjet tu charge un autre objet swf en cible :
    _root.createEmtptyMovieClip("macible",1);
    cela te créé sur le _level0 un objet instancié "macible" sur le _root de ton swf principal à "profondeur" 1 dans un objet de "NIVEAU" 0.
    Nota tu peux de toi même créer un obejt mc, que tu instancie "macible" à la mano , c'est pareil.
    _root.macible.loadMovie("clip.swf");
    tu charges donc à présent un swf dans l'objet que tu a créé via le code ou bien à la mano.
    pour atteindre cet objet, il te suffit de dire en code AS:
    trace(_root.macible._CE_QUE_TU_VEUX);

    Ca c'est la première version, assez commune des chargements d'objets dans un meme NIVEAU.



    Deuxième version :
    tu disposes d'un objet de base , donc au niveau 0.
    tu décides de charger un autre swf mais dans un autre NIVEAU :
    loadMovieNum("clip.swf", AAAAA);
    // AAAAA est un nombre, (touche F1 sur cette comande stp)
    là ça se complique, c'est normla, c'est le dimanche :
    trace(_root._CE_QUE_TU_VEUX);
    pouet pouet que dale. Tu n'a rien, tu n'as pas chargé en cible mais en NIVEAU.
    trace(_levelAAAAA._CE_QUE_TU_VEUX);
    Youpi ça marche.

    la différence entre les deux :
    elle est bien basique, dans le cadre d'un objet au NIVEAU 0, le point de réference x et y du swf qui y est chargé est le point de référence x et y de l'objet dans lequel le swf est chargé.
    Dans le cadre d'un objet chargé au NIVEAU AAAAA, le point de référence x et y sera TOUJOURS égal à 0 et 0.

    et pour pointer sur tes fonctions ou bien tes objets, soit dans le premier temps , tu cibles toujours sur le _root, soit dans un deuxième temps, tu cibles sur le _levelAAAAA pou ateindre ce que tu veux.

    Pour le ciblage en level, je pense personnellement qu'il te faut un site très "gros" en contenu pour t'offrir ce luxe.

    Dans le cas du premier exemple, _root est parfaitement adapté à tes besoins et reste une référence absolue pour tes objets comme pour ta programmation, ( bien qu'en ce qui concerne mon cas, toutes mes fonctions AS sont disponibles sur le _root, ce qui permet, dans le cas d'un échange de travail, d'avoir à pondre un document d'aide pour qu'un autre programmeur n'ai pas à chercher où j'aurais pu bien planquer telle ou telle fonction).


    Bien à toi.

  6. #6
    Membre émérite
    Avatar de thecaptain
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Décembre 2003
    Messages
    919
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Décembre 2003
    Messages : 919
    Par défaut
    Salut,

    aorgerit je ne suis pas d'accord avec toi ! Le _root ne doit être utilisé qu'en cas de nécessité et est forte,ent deconseillé dans le ciblage. C'est comme si tu montes un site en html et que tous tes liens sont en absolu ! Le jour ou tu changes de nom de site, bonjour les degats !!! Pour avoir tes fonctions accessibles partout, utilise plutot le _global ou passe par les classes. Pour eviter le _root, il y a le this et _parent
    J'ajoute encore a cela que tout ce qui concerne les _level c'est du flash 5 et c'est depasse.

    @++

Discussions similaires

  1. Réponses: 13
    Dernier message: 06/03/2006, 15h25
  2. [FLASH MX2004 PRO] Ouverture flash mais pas navigateur ?
    Par Machjaghjolu dans le forum Flash
    Réponses: 7
    Dernier message: 28/10/2004, 17h55
  3. Réponses: 18
    Dernier message: 19/08/2004, 15h11
  4. [FLASH MX2004 PRO] Problème étrange avec LoadClip...
    Par josemoroide dans le forum Flash
    Réponses: 6
    Dernier message: 04/08/2004, 15h41
  5. [FLASH MX2004 PRO] Bug scrollPane
    Par dens63 dans le forum Flash
    Réponses: 16
    Dernier message: 26/07/2004, 10h10

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